From b50c94d171287677abee8760a306eef891098319 Mon Sep 17 00:00:00 2001 From: Nyutanislavsky Date: Wed, 26 Apr 2023 09:40:51 +0800 Subject: [PATCH] Fixbug (#137) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将DamageFinished承载者改为受到伤害的角色(解决无来源伤害无法传导的bug) bury加入重置武将牌 改进火攻的交互 更改八卦阵的pattern(解决AskForUseCard和AskForResponseCard的pattern为任意时八卦阵可以响应的bug) --------- Signed-off-by: Mechanel --- lua/core/skill_type/view_as.lua | 4 ++-- lua/server/events/hp.lua | 2 +- lua/server/serverplayer.lua | 2 ++ packages/maneuvering/init.lua | 6 ++++-- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/lua/core/skill_type/view_as.lua b/lua/core/skill_type/view_as.lua index 8e3df9e8..61d1451c 100644 --- a/lua/core/skill_type/view_as.lua +++ b/lua/core/skill_type/view_as.lua @@ -27,12 +27,12 @@ end ---@param player Player function ViewAsSkill:enabledAtPlay(player) - return true + return player:hasSkill(self) end ---@param player Player function ViewAsSkill:enabledAtResponse(player) - return true + return player:hasSkill(self) end return ViewAsSkill diff --git a/lua/server/events/hp.lua b/lua/server/events/hp.lua index 5014e60c..bf25f2a7 100644 --- a/lua/server/events/hp.lua +++ b/lua/server/events/hp.lua @@ -151,7 +151,7 @@ GameEvent.functions[GameEvent.Damage] = function(self) stages = { {fk.Damage, damageStruct.from}, {fk.Damaged, damageStruct.to}, - {fk.DamageFinished, damageStruct.from}, + {fk.DamageFinished, damageStruct.to}, } for _, struct in ipairs(stages) do diff --git a/lua/server/serverplayer.lua b/lua/server/serverplayer.lua index eed1c807..b8af94a0 100644 --- a/lua/server/serverplayer.lua +++ b/lua/server/serverplayer.lua @@ -478,6 +478,8 @@ function ServerPlayer:bury() self:throwAllCards() self:throwAllMarks() self:clearPiles() + self:setChainState(false) + if not self.faceup then self:turnOver() end end function ServerPlayer:throwAllCards(flag) diff --git a/packages/maneuvering/init.lua b/packages/maneuvering/init.lua index 22b64dfa..54521005 100644 --- a/packages/maneuvering/init.lua +++ b/packages/maneuvering/init.lua @@ -251,12 +251,12 @@ local fireAttackSkill = fk.CreateActiveSkill{ local to = room:getPlayerById(cardEffectEvent.to) if to:isKongcheng() then return end - local showCard = room:askForCard(to, 1, 1, false, self.name, false)[1] + local showCard = room:askForCard(to, 1, 1, false, self.name, false, nil, "#fire_attack-show:" .. from.id)[1] to:showCards(showCard) showCard = Fk:getCardById(showCard) local cards = room:askForDiscard(from, 1, 1, false, self.name, true, - ".|.|" .. showCard:getSuitString()) + ".|.|" .. showCard:getSuitString(), "#fire_attack-discard:" .. to.id .. "::" .. showCard:getSuitString()) if #cards > 0 then room:damage({ from = from, @@ -496,6 +496,8 @@ Fk:loadTranslationTable{ ["fire_attack"] = "火攻", ["fire_attack_skill"] = "火攻", [":fire_attack"] = "锦囊牌
时机:出牌阶段
目标:一名有手牌的角色
效果:目标角色展示一张手牌,然后你可以弃置一张与所展示牌花色相同的手牌令其受到1点火焰伤害。", + ["#fire_attack-show"] = "%src 对你使用了火攻,请展示一张手牌", + ["#fire_attack-discard"] = "你可弃置一张 %arg 手牌,对 %src 造成1点火属性伤害", ["supply_shortage"] = "兵粮寸断", [":supply_shortage"] = "延时锦囊牌
时机:出牌阶段
目标:距离1的一名其他角色
效果:将此牌置于目标角色判定区内。其判定阶段进行判定:若结果不为梅花,其跳过摸牌阶段。然后将【兵粮寸断】置入弃牌堆。", ["guding_blade"] = "古锭刀",