diff --git a/lua/server/events/movecard.lua b/lua/server/events/movecard.lua index 086bb8e3efc347d16d6c31b72a84eb36ba53ae8c..b83f6da43a207ff40618f05655996a55c3a76a88 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 diff --git a/lua/server/room.lua b/lua/server/room.lua index 746a4f2ce68543a40e32b70c49997d0be52a4796..1d2ffced86e8553967bd1ac6868804ce03352876 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