diff --git a/lua/client/client.lua b/lua/client/client.lua index 97cf12848ccde88a0670ed398c1808d3b239e9f4..3402b2d5c0dc5b8dd2f7dacb32c9aeeedf1e7fff 100644 --- a/lua/client/client.lua +++ b/lua/client/client.lua @@ -879,6 +879,7 @@ fk.client_callback["AskForUseCard"] = function(data) h.prompt = data[3] h.cancelable = data[4] h.extra_data = data[5] + h.disabledSkillNames = data[6] h.change = {} h:setup() h.scene:notifyUI() @@ -894,6 +895,7 @@ fk.client_callback["AskForResponseCard"] = function(data) h.prompt = data[3] h.cancelable = data[4] h.extra_data = data[5] + h.disabledSkillNames = data[6] h.change = {} h:setup() h.scene:notifyUI() diff --git a/lua/core/request_type/response_card.lua b/lua/core/request_type/response_card.lua index b9898fd21d72cc4a533ecb808c17be94d0c48351..99d7f3dfce0a342433569f7c0192ded2700790bc 100644 --- a/lua/core/request_type/response_card.lua +++ b/lua/core/request_type/response_card.lua @@ -41,8 +41,12 @@ end function ReqResponseCard:skillButtonValidity(name) local player = self.player local skill = Fk.skills[name] - return skill:isInstanceOf(ViewAsSkill) and skill:enabledAtResponse(player, true) - and skill.pattern and Exppattern:Parse(self.pattern):matchExp(skill.pattern) + return + skill:isInstanceOf(ViewAsSkill) and + skill:enabledAtResponse(player, true) and + skill.pattern and + Exppattern:Parse(self.pattern):matchExp(skill.pattern) and + not table.contains(self.disabledSkillNames or {}, name) end function ReqResponseCard:cardValidity(cid) diff --git a/lua/core/request_type/use_card.lua b/lua/core/request_type/use_card.lua index 62a9e8383cd6ea94aa5693b4e35155883e6380fc..673acfdfadf6ba73a37d2801b7f9c70eb1d75d35 100644 --- a/lua/core/request_type/use_card.lua +++ b/lua/core/request_type/use_card.lua @@ -7,8 +7,12 @@ 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) - and skill.pattern and Exppattern:Parse(self.pattern):matchExp(skill.pattern) + return + skill:isInstanceOf(ViewAsSkill) and + skill:enabledAtResponse(player, false) and + skill.pattern and + Exppattern:Parse(self.pattern):matchExp(skill.pattern) and + not table.contains(self.disabledSkillNames or {}, name) end function ReqUseCard:cardValidity(cid)