From c4e9582fa2720c918db03d4c7691e3210b6a3c63 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 21 Jun 2021 07:46:42 +0000 Subject: [PATCH] =?UTF-8?q?3.=E8=82=BE=E4=B8=8A=E8=85=BA=E7=B4=A0=EF=BC=8C?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E6=97=A0=E6=95=88=E6=9E=9C=E4=B8=94=E4=B8=8D?= =?UTF-8?q?=E6=B6=88=E8=80=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/gameserver/human.cc | 17 +++++++++++++++++ server/gameserver/player.cc | 13 +++++++++++++ 2 files changed, 30 insertions(+) diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index 60fde21..41176d1 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -3148,6 +3148,23 @@ void Human::ProcUseItemAction() need_sync_active_player = true; } break; + case IS_SHEN_BAO: + { + if (!dead) { + if (downed) { + ability.hp = MetaMgr::Instance()->GetSysParamAsInt("downed_relive_recover_hp"); + downed = false; + if (downed_timer) { + room->xtimer.DeleteTimer(downed_timer); + downed_timer = nullptr; + } + } + AddHp(item_meta->i->heal()); + } + DecInventory(item_meta->i->_inventory_slot(), 1); + need_sync_active_player = true; + } + break; default: { } diff --git a/server/gameserver/player.cc b/server/gameserver/player.cc index fb1bbad..9a019c3 100644 --- a/server/gameserver/player.cc +++ b/server/gameserver/player.cc @@ -342,6 +342,19 @@ void Player::UpdateUseItemIdx() } } break; + case IS_SHEN_BAO: + { + MetaData::Equip* item_meta = MetaMgr::Instance()->GetEquipBySlotId(use_item_idx); + if (item_meta) { + StartAction( + AT_UseItem, + item_meta->i->use_time(), + use_item_idx, + 0 + ); + } + } + break; default: {