From b751f3a6841b113f41f6d17237772d1171acfe1b Mon Sep 17 00:00:00 2001 From: Mechanel Date: Sun, 5 May 2024 00:30:02 +0800 Subject: [PATCH 1/2] fix eight_diagram and pindian footnote --- lua/client/i18n/en_US.lua | 1 + lua/client/i18n/zh_CN.lua | 1 + lua/server/events/pindian.lua | 19 +++++++++++++++++++ standard_cards/init.lua | 10 +++++++--- 4 files changed, 28 insertions(+), 3 deletions(-) diff --git a/lua/client/i18n/en_US.lua b/lua/client/i18n/en_US.lua index d83fd79..5509fc8 100644 --- a/lua/client/i18n/en_US.lua +++ b/lua/client/i18n/en_US.lua @@ -443,4 +443,5 @@ Fk:loadTranslationTable({ ["##ResponsePlayCard"] = "%from plays", ["##ShowCard"] = "%from shows", ["##JudgeCard"] = "%arg judge", + ["##PindianCard"] = "%from point fights", }, "en_US") diff --git a/lua/client/i18n/zh_CN.lua b/lua/client/i18n/zh_CN.lua index 3b90079..709788a 100644 --- a/lua/client/i18n/zh_CN.lua +++ b/lua/client/i18n/zh_CN.lua @@ -519,4 +519,5 @@ Fk:loadTranslationTable{ ["##ResponsePlayCard"] = "%from打出", ["##ShowCard"] = "%from展示", ["##JudgeCard"] = "%arg判定", + ["##PindianCard"] = "%from拼点", } diff --git a/lua/server/events/pindian.lua b/lua/server/events/pindian.lua index 5318896..64c1bec 100644 --- a/lua/server/events/pindian.lua +++ b/lua/server/events/pindian.lua @@ -37,6 +37,7 @@ function Pindian:main() pindianCard:addSubcard(_pindianCard.id) pindianData.fromCard = pindianCard + pindianData._fromCard = _pindianCard table.insert(moveInfos, { ids = { _pindianCard.id }, @@ -55,6 +56,7 @@ function Pindian:main() pindianCard:addSubcard(_pindianCard.id) pindianData.results[to.id].toCard = pindianCard + pindianData.results[to.id]._toCard = _pindianCard table.insert(moveInfos, { ids = { _pindianCard.id }, @@ -88,9 +90,11 @@ function Pindian:main() if p == pindianData.from then pindianData.fromCard = pindianCard + pindianData._fromCard = _pindianCard else pindianData.results[p.id] = pindianData.results[p.id] or {} pindianData.results[p.id].toCard = pindianCard + pindianData.results[p.id]._toCard = _pindianCard end table.insert(moveInfos, { @@ -111,6 +115,17 @@ function Pindian:main() room:moveCards(table.unpack(moveInfos)) + room:sendFootnote({ pindianData._fromCard.id }, { + type = "##PindianCard", + from = pindianData.from.id, + }) + for _, to in ipairs(pindianData.tos) do + room:sendFootnote({ pindianData.results[to.id]._toCard.id }, { + type = "##PindianCard", + from = to.id, + }) + end + logic:trigger(fk.PindianCardsDisplayed, nil, pindianData) for _, to in ipairs(pindianData.tos) do @@ -136,6 +151,10 @@ function Pindian:main() to = { to.id }, arg = result.winner == pindianData.from and "pindianwin" or "pindiannotwin" } + + -- room:setCardEmotion(pindianData._fromCard.id, result.winner == pindianData.from and "pindianwin" or "pindiannotwin") + -- room:setCardEmotion(pindianData.results[to.id]._toCard.id, result.winner == to and "pindianwin" or "pindiannotwin") + logic:trigger(fk.PindianResultConfirmed, nil, singlePindianData) end diff --git a/standard_cards/init.lua b/standard_cards/init.lua index e2879c3..143af43 100644 --- a/standard_cards/init.lua +++ b/standard_cards/init.lua @@ -1163,9 +1163,13 @@ local eightDiagramSkill = fk.CreateTriggerSkill{ attached_equip = "eight_diagram", events = {fk.AskForCardUse, fk.AskForCardResponse}, can_trigger = function(self, event, target, player, data) - return target == player and player:hasSkill(self) and - (data.cardName == "jink" or (data.pattern and Exppattern:Parse(data.pattern):matchExp("jink|0|nosuit|none"))) and - (event == fk.AskForCardUse and not player:prohibitUse(Fk:cloneCard("jink")) or not player:prohibitResponse(Fk:cloneCard("jink"))) + if not (target == player and player:hasSkill(self) and + (data.cardName == "jink" or (data.pattern and Exppattern:Parse(data.pattern):matchExp("jink|0|nosuit|none")))) then return end + if event == fk.AskForCardUse then + return not player:prohibitUse(Fk:cloneCard("jink")) + else + return not player:prohibitResponse(Fk:cloneCard("jink")) + end end, on_use = function(self, event, target, player, data) local room = player.room -- Gitee From eae8b6e46552faf73ba94421a4cc85efa35b10c9 Mon Sep 17 00:00:00 2001 From: Mechanel Date: Sun, 5 May 2024 01:15:38 +0800 Subject: [PATCH 2/2] recast footnote --- lua/client/i18n/en_US.lua | 1 + lua/client/i18n/zh_CN.lua | 3 ++- lua/server/room.lua | 4 ++++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/lua/client/i18n/en_US.lua b/lua/client/i18n/en_US.lua index 5509fc8..c34249a 100644 --- a/lua/client/i18n/en_US.lua +++ b/lua/client/i18n/en_US.lua @@ -444,4 +444,5 @@ Fk:loadTranslationTable({ ["##ShowCard"] = "%from shows", ["##JudgeCard"] = "%arg judge", ["##PindianCard"] = "%from point fights", + ["##RecastCard"] = "%from recasts", }, "en_US") diff --git a/lua/client/i18n/zh_CN.lua b/lua/client/i18n/zh_CN.lua index 709788a..b4488c8 100644 --- a/lua/client/i18n/zh_CN.lua +++ b/lua/client/i18n/zh_CN.lua @@ -492,7 +492,7 @@ Fk:loadTranslationTable{ ["#HealMaxHP"] = "%from 加了 %arg 点体力上限", -- dying and death - ["#EnterDying"] = "%from 进入了濒死阶段", + ["#EnterDying"] = "%from 进入了濒死状态", ["#KillPlayer"] = "%from [%arg] 阵亡,凶手是 %to", ["#KillPlayerWithNoKiller"] = "%from [%arg] 阵亡,无伤害来源", ["#Revive"] = "%from 竟然复活了", @@ -520,4 +520,5 @@ Fk:loadTranslationTable{ ["##ShowCard"] = "%from展示", ["##JudgeCard"] = "%arg判定", ["##PindianCard"] = "%from拼点", + ["##RecastCard"] = "%from重铸", } diff --git a/lua/server/room.lua b/lua/server/room.lua index 9610fb9..ca42c56 100644 --- a/lua/server/room.lua +++ b/lua/server/room.lua @@ -3573,6 +3573,10 @@ function Room:recastCard(card_ids, who, skillName) moveReason = fk.ReasonRecast, proposer = who.id }) + self:sendFootnote(card_ids, { + type = "##RecastCard", + from = who.id, + }) self:broadcastPlaySound("./audio/system/recast") self:sendLog{ type = skillName == "recast" and "#Recast" or "#RecastBySkill", -- Gitee