From 96202a072d53818ff67ce6afb58814457d8c87a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B6=85=E7=BA=A7=E5=A6=96=E6=A2=A6=E5=8E=A8?= <12796194+youmuKon-supreme@user.noreply.gitee.com> Date: Thu, 24 Oct 2024 19:58:01 +0800 Subject: [PATCH 1/8] fix --- lua/core/request_type/play_card.lua | 14 +++++++++++--- lua/core/request_type/use_card.lua | 3 +++ 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/lua/core/request_type/play_card.lua b/lua/core/request_type/play_card.lua index 844bb31..eeb43d9 100644 --- a/lua/core/request_type/play_card.lua +++ b/lua/core/request_type/play_card.lua @@ -100,10 +100,17 @@ function ReqPlayCard:doEndButton() end function ReqPlayCard:selectCard(cid, data) - ReqUseCard.selectCard(self, cid, data) - if self.skill_name and not self.selected_card then return end + if self.skill_name and not self.selected_card then + return ReqActiveSkill.selectCard(self, cid, data) + end + local scene = self.scene + local selected = data.selected + scene:update("CardItem", cid, data) - if self.selected_card then + if selected then + self.skill_name = nil + self.selected_card = Fk:getCardById(cid) + scene:unselectOtherCards(cid) self:setSkillPrompt(self.selected_card.skill, self.selected_card:getEffectiveId()) local sp_skills = {} if self.selected_card.special_skills then @@ -114,6 +121,7 @@ function ReqPlayCard:selectCard(cid, data) end self.scene:update("SpecialSkills", "1", { skills = sp_skills }) else + self.selected_card = nil self:setPrompt(self.original_prompt) self.scene:update("SpecialSkills", "1", { skills = {} }) end diff --git a/lua/core/request_type/use_card.lua b/lua/core/request_type/use_card.lua index e65a818..4e56c05 100644 --- a/lua/core/request_type/use_card.lua +++ b/lua/core/request_type/use_card.lua @@ -31,6 +31,9 @@ end function ReqUseCard:feasible() local skill = Fk.skills[self.skill_name] local card = self.selected_card + if skill then + card = skill:viewAs(self.pendings) + end local ret = false if card and self:cardFeasible(card) then ret = card.skill:feasible(self.selected_targets, -- Gitee From 144e5841a2ed8c0dde42730aba3563175f70caf2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B6=85=E7=BA=A7=E5=A6=96=E6=A2=A6=E5=8E=A8?= <12796194+youmuKon-supreme@user.noreply.gitee.com> Date: Thu, 24 Oct 2024 20:10:09 +0800 Subject: [PATCH 2/8] enabledAtResponse(false) --- lua/core/request_type/use_card.lua | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lua/core/request_type/use_card.lua b/lua/core/request_type/use_card.lua index 4e56c05..766f699 100644 --- a/lua/core/request_type/use_card.lua +++ b/lua/core/request_type/use_card.lua @@ -4,6 +4,12 @@ local ReqResponseCard = require 'core.request_type.response_card' ---@class ReqUseCard: ReqResponseCard local ReqUseCard = ReqResponseCard:subclass("ReqUseCard") +function ReqUseCard:skillButtonValidity(name) + local player = self.player + local skill = Fk.skills[name] + return skill:isInstanceOf(ViewAsSkill) and skill:enabledAtResponse(player, false) +end + function ReqUseCard:cardValidity(cid) if self.skill_name then return ReqActiveSkill.cardValidity(self, cid) end local card = cid -- Gitee From 249146cc027a50c1fb2b9b351dd22657563a7154 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B6=85=E7=BA=A7=E5=A6=96=E6=A2=A6=E5=8E=A8?= <12796194+youmuKon-supreme@user.noreply.gitee.com> Date: Thu, 24 Oct 2024 20:13:57 +0800 Subject: [PATCH 3/8] fix --- lua/core/request_type/play_card.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/core/request_type/play_card.lua b/lua/core/request_type/play_card.lua index eeb43d9..3bec135 100644 --- a/lua/core/request_type/play_card.lua +++ b/lua/core/request_type/play_card.lua @@ -106,9 +106,9 @@ function ReqPlayCard:selectCard(cid, data) local scene = self.scene local selected = data.selected scene:update("CardItem", cid, data) + self.skill_name = nil if selected then - self.skill_name = nil self.selected_card = Fk:getCardById(cid) scene:unselectOtherCards(cid) self:setSkillPrompt(self.selected_card.skill, self.selected_card:getEffectiveId()) -- Gitee From 8fd9bec9d99e1879e98d1a149563dc13aec43b48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B6=85=E7=BA=A7=E5=A6=96=E6=A2=A6=E5=8E=A8?= <12796194+youmuKon-supreme@user.noreply.gitee.com> Date: Thu, 24 Oct 2024 20:17:56 +0800 Subject: [PATCH 4/8] fix --- lua/core/request_type/play_card.lua | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lua/core/request_type/play_card.lua b/lua/core/request_type/play_card.lua index 3bec135..629c6c9 100644 --- a/lua/core/request_type/play_card.lua +++ b/lua/core/request_type/play_card.lua @@ -106,9 +106,9 @@ function ReqPlayCard:selectCard(cid, data) local scene = self.scene local selected = data.selected scene:update("CardItem", cid, data) - self.skill_name = nil if selected then + self.skill_name = nil self.selected_card = Fk:getCardById(cid) scene:unselectOtherCards(cid) self:setSkillPrompt(self.selected_card.skill, self.selected_card:getEffectiveId()) @@ -127,6 +127,11 @@ function ReqPlayCard:selectCard(cid, data) end end +function ReqPlayCard:selectSkill(skill, data) + ReqUseCard.selectSkill(self, skill, data) + self.scene:update("SpecialSkills", "1", { skills = {} }) +end + function ReqPlayCard:update(elemType, id, action, data) if elemType == "Button" and id == "End" then self:doEndButton() -- Gitee From 067ef8a2bc62c7e02928d4194708900b972914c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B6=85=E7=BA=A7=E5=A6=96=E6=A2=A6=E5=8E=A8?= <12796194+youmuKon-supreme@user.noreply.gitee.com> Date: Thu, 24 Oct 2024 20:45:34 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=E6=AD=A3=E5=9C=A8=E6=94=B9Qml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lua/client/client.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lua/client/client.lua b/lua/client/client.lua index 630e0d1..282ce2f 100644 --- a/lua/client/client.lua +++ b/lua/client/client.lua @@ -244,9 +244,9 @@ end fk.client_callback["EnterRoom"] = function(_data) Self = ClientPlayer:new(fk.Self) -- FIXME: 需要改Qml - --local ob = ClientInstance.observing + local ob = ClientInstance.observing ClientInstance = Client:new() -- clear old client data - --ClientInstance.observing = ob + ClientInstance.observing = ob ClientInstance.players = {Self} ClientInstance.alive_players = {Self} ClientInstance.discard_pile = {} -- Gitee From 284ddf8e961f24d17ab882b0c9e5f0438f11b02d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B6=85=E7=BA=A7=E5=A6=96=E6=A2=A6=E5=8E=A8?= <12796194+youmuKon-supreme@user.noreply.gitee.com> Date: Thu, 24 Oct 2024 21:19:18 +0800 Subject: [PATCH 6/8] fix --- lua/core/player.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/core/player.lua b/lua/core/player.lua index 40d1cf4..dd0f50a 100644 --- a/lua/core/player.lua +++ b/lua/core/player.lua @@ -1254,7 +1254,7 @@ function Player:roleVisible(target) end end - if room.observing == false and target == self then return true end + if not room.observing and target == self then return true end return target.role_shown end -- Gitee From 2a04449298012a52cfcd62b272c700411aff77e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B6=85=E7=BA=A7=E5=A6=96=E6=A2=A6=E5=8E=A8?= <12796194+youmuKon-supreme@user.noreply.gitee.com> Date: Thu, 24 Oct 2024 21:24:55 +0800 Subject: [PATCH 7/8] fix --- lua/client/client_util.lua | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lua/client/client_util.lua b/lua/client/client_util.lua index 6566266..858a81f 100644 --- a/lua/client/client_util.lua +++ b/lua/client/client_util.lua @@ -945,12 +945,11 @@ function FinishRequestUI() end end --- TODO 传参带上cardMoveData... -function CardVisibility(cardId, move) +function CardVisibility(cardId) local player = Self local card = Fk:getCardById(cardId) if not card then return false end - return player:cardVisible(cardId, move) + return player:cardVisible(cardId) end function RoleVisibility(targetId) -- Gitee From 60041b4876d1a9b17c3872cd3ad479577279cb48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B6=85=E7=BA=A7=E5=A6=96=E6=A2=A6=E5=8E=A8?= <12796194+youmuKon-supreme@user.noreply.gitee.com> Date: Thu, 24 Oct 2024 21:31:04 +0800 Subject: [PATCH 8/8] Bulletin --- lua/client/i18n/zh_CN.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lua/client/i18n/zh_CN.lua b/lua/client/i18n/zh_CN.lua index 7e55c32..dfa6026 100644 --- a/lua/client/i18n/zh_CN.lua +++ b/lua/client/i18n/zh_CN.lua @@ -360,9 +360,9 @@ FreeKill使用的是libgit2的C API,与此同时使用Git完成拓展包的下 ["Resume"] = "继续", ["Bulletin Info"] = [==[ - ## v0.4.13 + ## v0.4.21 - 优化性能 + UI重构!还有很长一段路要走…… ]==], } -- Gitee