diff --git a/1v2.lua b/1v2.lua index c0858d5402749f3c0b618270bab404ea897db71b..2bc2c1b1dbfb2d1b35a30c7b7c09a4d78f329142 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 6a43f8b941ecbbfa055f4cecebac650a3f609982..89ab07837894d7eab648d535a5800df0c8f60798 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