From 725b87a7fb3b8b600e67f8fe1831f7c5833a5f12 Mon Sep 17 00:00:00 2001 From: Mechanel Date: Sun, 16 Jul 2023 17:39:27 +0800 Subject: [PATCH] modify choosekingdom --- 1v2.lua | 46 +--------------------------------------------- 2v2.lua | 46 +--------------------------------------------- 2 files changed, 2 insertions(+), 90 deletions(-) diff --git a/1v2.lua b/1v2.lua index c0858d5..2bc2c1b 100644 --- a/1v2.lua +++ b/1v2.lua @@ -18,50 +18,6 @@ local desc_1v2 = [[ 胜利规则与身份局一致。 ]] -local askForChooseKingdom = function(room, players) - local specialKingdomPlayers = table.filter(players, function(p) - return p.kingdom == "god" or Fk.generals[p.general].subkingdom - end) - - if #specialKingdomPlayers > 0 then - local choiceMap = {} - for _, p in ipairs(specialKingdomPlayers) do - local allKingdoms = {} - if p.kingdom == "god" then - allKingdoms = table.simpleClone(Fk.kingdoms) - - local exceptedKingdoms = { "god" } - for _, kingdom in ipairs(exceptedKingdoms) do - table.removeOne(allKingdoms, kingdom) - end - else - local curGeneral = Fk.generals[p.general] - allKingdoms = { curGeneral.kingdom, curGeneral.subkingdom } - end - - choiceMap[p.id] = allKingdoms - - local data = json.encode({ allKingdoms, "AskForKingdom", "#ChooseInitialKingdom" }) - p.request_data = data - end - - room:notifyMoveFocus(players, "AskForKingdom") - room:doBroadcastRequest("AskForChoice", specialKingdomPlayers) - - for _, p in ipairs(specialKingdomPlayers) do - local kingdomChosen - if p.reply_ready then - kingdomChosen = p.client_reply - else - kingdomChosen = choiceMap[p.id][1] - end - - p.kingdom = kingdomChosen - room:notifyProperty(p, p, "kingdom") - end - end -end - -- Because packages are loaded before gamelogic.lua loaded -- so we can not directly create subclass of gamelogic in the top of lua local m_1v2_getLogic = function() @@ -105,7 +61,7 @@ local m_1v2_getLogic = function() p.default_reply = "" end - askForChooseKingdom(room, nonlord) + room:askForChooseKingdom(nonlord) for _, p in ipairs(nonlord) do room:broadcastProperty(p, "general") diff --git a/2v2.lua b/2v2.lua index 6a43f8b..89ab078 100644 --- a/2v2.lua +++ b/2v2.lua @@ -10,50 +10,6 @@ local desc_2v2 = [[ 第一回合角色摸牌阶段少摸一张牌。 ]] -local askForChooseKingdom = function(room, players) - local specialKingdomPlayers = table.filter(players, function(p) - return p.kingdom == "god" or Fk.generals[p.general].subkingdom - end) - - if #specialKingdomPlayers > 0 then - local choiceMap = {} - for _, p in ipairs(specialKingdomPlayers) do - local allKingdoms = {} - if p.kingdom == "god" then - allKingdoms = table.simpleClone(Fk.kingdoms) - - local exceptedKingdoms = { "god" } - for _, kingdom in ipairs(exceptedKingdoms) do - table.removeOne(allKingdoms, kingdom) - end - else - local curGeneral = Fk.generals[p.general] - allKingdoms = { curGeneral.kingdom, curGeneral.subkingdom } - end - - choiceMap[p.id] = allKingdoms - - local data = json.encode({ allKingdoms, "AskForKingdom", "#ChooseInitialKingdom" }) - p.request_data = data - end - - room:notifyMoveFocus(players, "AskForKingdom") - room:doBroadcastRequest("AskForChoice", specialKingdomPlayers) - - for _, p in ipairs(specialKingdomPlayers) do - local kingdomChosen - if p.reply_ready then - kingdomChosen = p.client_reply - else - kingdomChosen = choiceMap[p.id][1] - end - - p.kingdom = kingdomChosen - room:notifyProperty(p, p, "kingdom") - end - end -end - local m_2v2_getLogic = function() local m_2v2_logic = GameLogic:subclass("m_2v2_logic") @@ -108,7 +64,7 @@ local m_2v2_getLogic = function() p.default_reply = "" end - askForChooseKingdom(room, nonlord) + room:askForChooseKingdom(nonlord) end return m_2v2_logic -- Gitee