From 902a61d2f5fe7a8cfe42ae4946e6a8eb31beebb3 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: Wed, 23 Oct 2024 00:19:47 +0800 Subject: [PATCH 1/2] doyiji --- lua/server/events/movecard.lua | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/lua/server/events/movecard.lua b/lua/server/events/movecard.lua index 086bb8e..b83f6da 100644 --- a/lua/server/events/movecard.lua +++ b/lua/server/events/movecard.lua @@ -336,17 +336,16 @@ function MoveEventWrappers:recastCard(card_ids, who, skillName) end --- 将一些卡牌同时分配给一些角色。 ----@param room Room @ 房间 ---@param list table @ 分配牌和角色的数据表,键为角色id,值为分配给其的牌id数组 ---@param proposer? integer @ 操作者的id。默认为空 ---@param skillName? string @ 技能名。默认为“分配” ---@return table @ 返回成功分配的卡牌 -function MoveEventWrappers:doYiji(room, list, proposer, skillName) +function MoveEventWrappers:doYiji(list, proposer, skillName) skillName = skillName or "distribution_skill" local moveInfos = {} local move_ids = {} for to, cards in pairs(list) do - local toP = room:getPlayerById(to) + local toP = self:getPlayerById(to) local handcards = toP:getCardIds("h") cards = table.filter(cards, function (id) return not table.contains(handcards, id) end) if #cards > 0 then @@ -354,7 +353,7 @@ function MoveEventWrappers:doYiji(room, list, proposer, skillName) local moveMap = {} local noFrom = {} for _, id in ipairs(cards) do - local from = room.owner_map[id] + local from = self.owner_map[id] if from then moveMap[from] = moveMap[from] or {} table.insert(moveMap[from], id) @@ -366,7 +365,7 @@ function MoveEventWrappers:doYiji(room, list, proposer, skillName) table.insert(moveInfos, { ids = _cards, moveInfo = table.map(_cards, function(id) - return {cardId = id, fromArea = room:getCardArea(id), fromSpecialName = room:getPlayerById(from):getPileNameOfId(id)} + return {cardId = id, fromArea = self:getCardArea(id), fromSpecialName = self:getPlayerById(from):getPileNameOfId(id)} end), from = from, to = to, @@ -389,7 +388,7 @@ function MoveEventWrappers:doYiji(room, list, proposer, skillName) end end if #moveInfos > 0 then - room:moveCards(table.unpack(moveInfos)) + self:moveCards(table.unpack(moveInfos)) end return move_ids end -- Gitee From d9da2b0a88d3ad11cb43952502fa2c2980eff4e6 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: Wed, 23 Oct 2024 21:34:05 +0800 Subject: [PATCH 2/2] bugfix --- lua/server/room.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/server/room.lua b/lua/server/room.lua index 746a4f2..1d2ffce 100644 --- a/lua/server/room.lua +++ b/lua/server/room.lua @@ -1170,7 +1170,7 @@ end ---@param no_indicate? boolean @ 是否不显示指示线 ---@return integer[] @ 选择的牌的id列表,可能是空的 function Room:askForCard(player, minNum, maxNum, includeEquip, skillName, cancelable, pattern, prompt, expand_pile, no_indicate) - if minNum < 1 then + if maxNum < 1 then return {} end cancelable = (cancelable == nil) and true or cancelable -- Gitee