攻略
Combo
考据
好物分享
卡图故事
支缓
盘点整理
Duel Links
--ワーム・クィーン function c81254059.initial_effect(c) --summon with 1 tribute local e1=Effect.CreateEffect(c) e1:SetDescription(aux.Stringid(81254059,0)) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e1:SetType(EFFECT_TYPE_SINGLE) e1:SetCode(EFFECT_SUMMON_PROC) e1:SetCondition(c81254059.otcon) e1:SetOperation(c81254059.otop) e1:SetValue(SUMMON_TYPE_ADVANCE) c:RegisterEffect(e1) --special summon local e2=Effect.CreateEffect(c) e2:SetDescription(aux.Stringid(81254059,1)) e2:SetCategory(CATEGORY_SPECIAL_SUMMON) e2:SetType(EFFECT_TYPE_IGNITION) e2:SetRange(LOCATION_MZONE) e2:SetCountLimit(1) e2:SetCost(c81254059.spcost) e2:SetTarget(c81254059.sptg) e2:SetOperation(c81254059.spop) c:RegisterEffect(e2) end function c81254059.cfilter(c,tp) return c:IsSetCard(0x3e) and c:IsRace(RACE_REPTILE) and (c:IsControler(tp) or c:IsFaceup()) end function c81254059.otcon(e,c,minc) if c==nil then return true end local tp=c:GetControler() local mg=Duel.GetMatchingGroup(c81254059.cfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil,tp) return c:IsLevelAbove(7) and minc<=1 and Duel.CheckTribute(c,1,1,mg) end function c81254059.otop(e,tp,eg,ep,ev,re,r,rp,c) local mg=Duel.GetMatchingGroup(c81254059.cfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil,tp) local sg=Duel.SelectTribute(tp,c,1,1,mg) c:SetMaterial(sg) Duel.Release(sg,REASON_SUMMON+REASON_MATERIAL) end function c81254059.costfilter(c,e,tp,ft) return c:IsSetCard(0x3e) and c:IsRace(RACE_REPTILE) and (ft>0 or (c:IsControler(tp) and c:GetSequence()<5)) and (c:IsControler(tp) or c:IsFaceup()) and Duel.IsExistingMatchingCard(c81254059.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp,c:GetLevel()) end function c81254059.spfilter(c,e,tp,lv) return c:IsSetCard(0x3e) and c:IsRace(RACE_REPTILE) and c:IsLevelBelow(lv) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end function c81254059.spcost(e,tp,eg,ep,ev,re,r,rp,chk) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) if chk==0 then return ft>-1 and Duel.CheckReleaseGroup(tp,c81254059.costfilter,1,nil,e,tp,ft) end local sg=Duel.SelectReleaseGroup(tp,c81254059.costfilter,1,1,nil,e,tp,ft) e:SetLabel(sg:GetFirst():GetLevel()) Duel.Release(sg,REASON_COST) end function c81254059.sptg(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return true end Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK) end function c81254059.spop(e,tp,eg,ep,ev,re,r,rp) if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) local g=Duel.SelectMatchingCard(tp,c81254059.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp,e:GetLabel()) Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP) end