攻略
Combo
考据
好物分享
卡图故事
支缓
盘点整理
Duel Links
--アルカナフォースEX-THE DARK RULER function c69831560.initial_effect(c) c:EnableReviveLimit() --spsummon proc local e1=Effect.CreateEffect(c) e1:SetType(EFFECT_TYPE_FIELD) e1:SetCode(EFFECT_SPSUMMON_PROC) e1:SetProperty(EFFECT_FLAG_UNCOPYABLE) e1:SetRange(LOCATION_HAND) e1:SetCondition(c69831560.spcon) e1:SetOperation(c69831560.spop) c:RegisterEffect(e1) --cannot special summon local e2=Effect.CreateEffect(c) e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e2:SetType(EFFECT_TYPE_SINGLE) e2:SetCode(EFFECT_SPSUMMON_CONDITION) c:RegisterEffect(e2) --coin local e3=Effect.CreateEffect(c) e3:SetDescription(aux.Stringid(69831560,0)) e3:SetCategory(CATEGORY_COIN) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e3:SetCode(EVENT_SPSUMMON_SUCCESS) e3:SetTarget(c69831560.cointg) e3:SetOperation(c69831560.coinop) c:RegisterEffect(e3) end c69831560.toss_coin=true function c69831560.spfilter(c) return c:IsAbleToGraveAsCost() end function c69831560.mzfilter(c) return c:GetSequence()<5 end function c69831560.spcon(e,c) if c==nil then return true end local tp=c:GetControler() local mg=Duel.GetMatchingGroup(c69831560.spfilter,tp,LOCATION_MZONE,0,nil) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ct=-ft+1 return ft>-3 and mg:GetCount()>2 and (ft>0 or mg:IsExists(c69831560.mzfilter,ct,nil)) end function c69831560.spop(e,tp,eg,ep,ev,re,r,rp,c) local mg=Duel.GetMatchingGroup(c69831560.spfilter,tp,LOCATION_MZONE,0,nil) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ct=-ft+1 local g=nil if ft>0 then Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE) g=mg:Select(tp,3,3,nil) elseif ft>-2 then Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE) g=mg:FilterSelect(tp,c69831560.mzfilter,ct,ct,nil) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE) local g2=mg:Select(tp,3-ct,3-ct,g) g:Merge(g2) else Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE) g=mg:FilterSelect(tp,c69831560.mzfilter,3,3,nil) end Duel.SendtoGrave(g,REASON_COST) end function c69831560.cointg(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return true end Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,1) end function c69831560.coinop(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler() if not c:IsRelateToEffect(e) or c:IsFacedown() then return end local res=0 if c:IsHasEffect(73206827) then res=1-Duel.SelectOption(tp,60,61) else res=Duel.TossCoin(tp,1) end c69831560.arcanareg(c,res) end function c69831560.arcanareg(c,coin) --coin effect local e1=Effect.CreateEffect(c) e1:SetType(EFFECT_TYPE_SINGLE) e1:SetCode(EFFECT_EXTRA_ATTACK) e1:SetCondition(c69831560.macon) e1:SetValue(1) e1:SetReset(RESET_EVENT+RESETS_STANDARD) c:RegisterEffect(e1) local e2=Effect.CreateEffect(c) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e2:SetRange(LOCATION_MZONE) e2:SetCode(EVENT_PHASE+PHASE_BATTLE) e2:SetCountLimit(1) e2:SetCondition(c69831560.poscon) e2:SetOperation(c69831560.posop) e2:SetReset(RESET_EVENT+RESETS_STANDARD) c:RegisterEffect(e2) -- local e3=Effect.CreateEffect(c) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e3:SetCode(EVENT_LEAVE_FIELD_P) e3:SetOperation(c69831560.desop1) e3:SetReset(RESET_EVENT+RESETS_STANDARD) c:RegisterEffect(e3) -- local e4=Effect.CreateEffect(c) e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e4:SetCode(EVENT_LEAVE_FIELD) e4:SetOperation(c69831560.desop2) e4:SetReset(RESET_EVENT+RESET_OVERLAY+RESET_TOFIELD) e4:SetLabelObject(e3) c:RegisterEffect(e4) c:RegisterFlagEffect(36690018,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,coin,63-coin) end function c69831560.macon(e) return e:GetHandler():GetFlagEffectLabel(36690018)==1 end function c69831560.poscon(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler() return c:GetFlagEffectLabel(36690018)==1 and c:GetAttackAnnouncedCount()>=2 end function c69831560.posop(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler() if c:IsAttackPos() then Duel.ChangePosition(c,POS_FACEUP_DEFENSE) end local e1=Effect.CreateEffect(c) e1:SetType(EFFECT_TYPE_SINGLE) e1:SetCode(EFFECT_CANNOT_CHANGE_POSITION) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_COPY_INHERIT) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END+RESET_SELF_TURN,2) c:RegisterEffect(e1) end function c69831560.desop1(e,tp,eg,ep,ev,re,r,rp) if e:GetHandler():IsReason(REASON_DESTROY) and e:GetHandler():GetFlagEffectLabel(36690018)==0 then e:SetLabel(1) else e:SetLabel(0) end end function c69831560.desop2(e,tp,eg,ep,ev,re,r,rp) if e:GetLabelObject():GetLabel()~=0 then local g=Duel.GetFieldGroup(tp,LOCATION_ONFIELD,LOCATION_ONFIELD) Duel.Destroy(g,REASON_EFFECT) end e:Reset() end