游戏王ygocore吧 关注:243,713贴子:2,899,389
  • 18回复贴,共1

【一般讨论】关于究极封印神解放仪式术的代码

只看楼主收藏回复

效果:
  自己的手卡或者墓地有5张名字不同的「被封印」卡的场合,这张卡才能在墓地发动。自己墓地的全部怪兽回到卡组,从手卡将2张「被封印」卡丢弃,从手卡或卡组特殊召唤1只「究极封印神 艾克佐迪奥斯」。只要那只怪兽在场上表侧表示存在,被「究极封印神 艾克佐迪奥斯」以外的效果将「被封印」卡送去墓地的场合,那些卡回到卡组。
一直没办法发动成功,无论是墓地凑齐五张被封印的卡,还是手术留了两张被封印的卡都不能发动,这代码是不是有问题?
--Ultimate Ritual of the Forbidden Lord
function c511000244.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetCountLimit(1)
e1:SetRange(LOCATION_GRAVE)
e1:SetCondition(c511000244.condition)
e1:SetTarget(c511000244.target)
e1:SetOperation(c511000244.activate)
c:RegisterEffect(e1)
--"Forbidden One" card(s) is sent to the Graveyard by another card effect, return the card(s) to the Deck.
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TODECK)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e2:SetRange(LOCATION_GRAVE)
e2:SetCode(EVENT_TO_GRAVE)
e2:SetCondition(c511000244.forbcon)
e2:SetTarget(c511000244.forbtg)
e2:SetOperation(c511000244.forbop)
c:RegisterEffect(e2)
end
function c511000244.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(Card.IsCode,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,8124921)
and Duel.IsExistingMatchingCard(Card.IsCode,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,44519536)
and Duel.IsExistingMatchingCard(Card.IsCode,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,70903634)
and Duel.IsExistingMatchingCard(Card.IsCode,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,7902349)
and Duel.IsExistingMatchingCard(Card.IsCode,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,33396948)
end
function c511000244.filter(c,e,tp)
return c:IsCode(511000243) and c:IsCanBeSpecialSummoned(e,0,tp,true,true)
end
function c511000244.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and
Duel.IsExistingMatchingCard(c511000244.filter,tp,LOCATION_HAND+LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_DECK)
end
function c511000244.dfilter(c)
return c:IsSetCard(0x40) and c:IsAbleToGraveAsCost()
end
function c511000244.activate(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsType,tp,LOCATION_GRAVE,0,nil,TYPE_MONSTER)
Duel.SendtoDeck(g,nil,2,REASON_COST)
if chk==0 then return Duel.IsExistingMatchingCard(c511000244.dfilter,tp,LOCATION_HAND+LOCATION_DECK,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c511000244.dfilter,tp,LOCATION_HAND+LOCATION_DECK,0,2,2,nil)
Duel.SendtoGrave(g,REASON_COST)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=Duel.SelectMatchingCard(tp,c511000244.filter,tp,LOCATION_HAND+LOCATION_DECK,0,1,1,nil,e,tp)
if tg:GetCount()>0 then
local tc=tg:GetFirst()
Duel.SpecialSummon(tc,0,tp,tp,true,true,POS_FACEUP)
tc:CompleteProcedure()
end
end
function c511000244.fbfilter(c)
return c:IsSetCard(0x40) and c:IsPreviousLocation(LOCATION_DECK)
end
function c511000244.exodiusfiltc)
return c:IsFaceup() and c:IsCode(511000243)
end
function c511000244.forbcon(e,tp,eg,ep,ev,re,r,rp)
if not re then return false end
local rc=re:GetHandler()
return eg:IsExists(c511000244.fbfilter,1,nil) and not rc:IsCode(511000243)
and Duel.IsExistingMatchingCard(c511000244.exodiusfilter,0,LOCATION_MZONE,LOCATION_MZONE,1,e:GetHandler())
end
function c511000244.forbtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return true end
Duel.SetTargetCard(eg)
Duel.SetOperationInfo(0,CATEGORY_TODECK,eg,1,0,0)
end
function c511000244.fb2filter(c,e,tp)
return c:IsRelateToEffect(e) and c:IsSetCard(0x40) and c:IsPreviousLocation(LOCATION_DECK)
end
function c511000244.forbop(e,tp,eg,ep,ev,re,r,rp)
local sg=eg:Filter(c511000244.fb2filter,nil,e)
if sg:GetCount()>0 then
Duel.SendtoDeck(sg,nil,2,REASON_EFFECT)
end
end
如果把效果改成:
  自己的手卡、墓地有5张名字不同的「被封印」卡的场合,这张卡才能在墓地发动。自己墓地的全部怪兽回到卡组,从 卡组将2张「被封印」卡送入墓地,从手卡或卡组特殊召唤1只「究极封印神 艾克佐迪奥斯」。只要那只怪兽在场上表侧表示存在,被「究极封印神 艾克佐迪奥斯」以外的效果将「被封印」卡送去墓地的场场合,那些卡回到卡组。
又应该怎样改呢?


IP属地:广东1楼2014-11-08 01:43回复
    沙发


    IP属地:广东来自Android客户端2楼2014-11-08 08:41
    回复
      看完这贴我才知道做卡不易


      IP属地:福建来自Android客户端3楼2014-11-08 08:51
      回复
        事实上究极封印神可以直接跳233
        ——男子回到家后躺在沙发上一脸惆怅,女儿回到妈妈的房间悄悄对她说:妈,我帮你报复他的出轨了,我今天去医院跟我男盆友说了让他故意说诊断书写错了。妈妈泪流满面,不知道该不该说出真相:那老中医是你亲生父亲啊。


        IP属地:福建来自Android客户端4楼2014-11-08 08:53
        回复
          程序猿好辛苦


          IP属地:广东来自Android客户端5楼2014-11-08 10:38
          收起回复
            @天城力仆


            IP属地:广东6楼2014-11-08 11:03
            收起回复
              →_→


              来自Android客户端7楼2014-11-08 12:06
              回复
                先试着把e1:SetCondition(c511000244.condition)去掉,要是运行无障碍就是这个的问题。
                要是运行有障碍,先排除别处的障碍,也许可以同理找到condition的障碍。


                8楼2014-11-08 14:38
                收起回复
                  关于condition的写法,个人觉得可以再加一条是自己手卡有2张以上的「被封印的」卡


                  9楼2014-11-08 14:39
                  回复
                    我只觉得,这个卡发动后墓地就有两个了,封印神再怎么堆下剩下3个也不可能因封印神效果集齐5个了,那么封印神当打手有什么意义呢?


                    IP属地:湖北来自Android客户端10楼2014-11-08 15:37
                    收起回复
                      首先 名字带 被封印的 卡 就只有老艾5部件吧 特招需要丢2张入墓才能特招 也就是不能通招 有苏生限制 特招限制。。
                      召唤条件是丢2卡入墓 而说此卡效果 墓地集齐5部件 就基本不可能达成了 因为召唤支付的COST 不属于效果送墓。。。 需要改成 手上有2张被封印时可以特殊召唤 特殊召唤成功时发动 丢弃2张
                      然后是 魔法卡的效果 必须改成 无视召唤条件 特殊召唤


                      IP属地:广东12楼2014-11-10 00:28
                      收起回复
                        ghbhhkj


                        IP属地:江苏来自Android客户端13楼2014-11-16 00:25
                        回复