太阳神三国杀lua吧 关注:2,643贴子:73,378
  • 5回复贴,共1

跪求大神,帮忙看一下这个代码

只看楼主收藏回复

智才:锁定技。判定阶段,你的乐不思蜀判定的方片牌视为红桃牌,你的兵粮寸断判定的黑桃牌视为梅花牌。


IP属地:湖南1楼2017-04-19 23:43回复
    zhicai = sgs.CreateFilterSkill{
    name = "zhicai",
    view_filter = function(self, to_select)
    local room = sgs.Sanguosha:currentRoom()
    local place = room:getCardPlace(to_select:getEffectiveId())
    return place == sgs.Player_PlaceJudge and (to_select:getSuit()==sgs.Card_Diamond or to_select:getSuit()==sgs.Card_Spade)
    end,
    view_as = function(self, card)
    local id = card:getId()
    local suit = card:getSuit()
    local point = card:getNumber()
    if sgs.Self:getTag("le"):toInt()>0 and suit==sgs.Card_Diamond then
    suit=sgs.Card_Heart
    elseif sgs.Self:getTag("bi"):toInt()>0 and suit==sgs.Card_Spade then
    suit=sgs.Card_Club
    end
    local peach1 = sgs.Sanguosha:cloneCard(card:objectName(), suit, point)
    peach1:setSkillName(self:objectName())
    local vs_card = sgs.Sanguosha:getWrappedCard(id)
    vs_card:takeOver(peach1)
    return vs_card
    end
    }
    zhicai1 = sgs.CreateTriggerSkill{
    name = "#zhicai1",
    frequency =sgs.Skill_Compulsory,
    events = {sgs.AskForRetrial,sgs.FinishJudge},
    on_trigger = function(self, event, player, data)
    if player:hasSkill("zhicai") then
    local cards=player:getJudgingArea()
    if event==sgs.AskForRetrial then
    for _,card in sgs.qlist(cards) do
    if card:isKindOf("Indulgence") then
    room:get("le")
    elseif card:isKindOf("SupplyShortage") then
    room:get("bi")
    end
    end
    end
    if event==sgs.FinishJudge then
    if player:getTag("le") then
    room:removeTag("le")
    end
    if player:getTag("bi") then
    room:removeTag("bi")
    end
    end
    end
    end,
    }


    IP属地:湖南2楼2017-04-19 23:43
    回复
      zhicai = sgs.CreateFilterSkill{
      name = "zhicai",
      view_filter = function(self, to_select)
      local room = sgs.Sanguosha:currentRoom()
      local place = room:getCardPlace(to_select:getEffectiveId())
      return place == sgs.Player_PlaceJudge and (to_select:getSuit()==sgs.Card_Diamond or to_select:getSuit()==sgs.Card_Spade)
      end,
      view_as = function(self, card)
      local id = card:getEffectiveId()
      local suit = card:getSuit()
      local point = card:getNumber()
      if sgs.Self:getTag("le") and suit==sgs.Card_Diamond then
      local new_card = sgs.Sanguosha:getWrappedCard(id)
      new_card:setSkillName(self:objectName())
      new_card:setSuit(sgs.Card_Heart)
      new_card:setModified(true)
      return new_card
      elseif sgs.Self:getTag("bi") and suit==sgs.Card_Spade then
      local new_card = sgs.Sanguosha:getWrappedCard(id)
      new_card:setSkillName(self:objectName())
      new_card:setSuit(sgs.Card_Club)
      new_card:setModified(true)
      return new_card
      end
      end
      }
      zhicai1 = sgs.CreateTriggerSkill{
      name = "#zhicai1",
      frequency =sgs.Skill_Compulsory,
      events = {sgs.CardEffected},
      on_trigger = function(self, event, player, data)
      if player:hasSkill("zhicai") then
      local cards=player:getJudgingArea()
      local a=room:getTag("le"):toInt()
      local b=room:getTag("bi"):toInt()
      if event==sgs.CardEffected then
      for _,card in sgs.qlist(cards) do
      if card:isKindOf("Indulgence") then
      if room:getTag("bi") then
      room:removeTag("bi")
      end
      room:getTag("le")
      end
      if card:isKindOf("SupplyShortage") then
      if room:getTag("le") then
      room:removeTag("le")
      end
      room:getTag("bi")
      end
      end
      end
      end
      end,
      }
      看这个代码,如何修改,兵粮寸断时方片也会变红桃


      3楼2017-04-20 00:06
      回复
        参考红颜


        IP属地:福建来自Android客户端4楼2017-05-05 21:12
        回复
          方法一:把zhicai写成两个隐藏技能并分别添加一个flag(两个技能flag不一样)
          然后写一个不是隐藏技能的zhicai 此时技能时机为判定时(咒缚)
          然后判断一下判定的原因是不是乐不思蜀,是则添加对应的技能的flag,然后在判定结束后删除flag
          方法二:就是你的写法,你不应该遍历判定区 ,而是应该获取生效中的牌并判断是不是乐不思蜀,参考无言的如何获取生效的牌


          IP属地:北京5楼2017-05-07 07:28
          回复
            要是搭配上小乔,判定兵粮寸断为黑桃,到底跳不跳过摸牌阶段?换言之,此黑桃被视为红桃还是梅花


            IP属地:广东来自Android客户端6楼2023-11-10 19:43
            回复