--Steinitz's William --Keddy was here~ local function ID() local str=string.match(debug.getinfo(2,'S')['source'],"c%d+%.lua") str=string.sub(str,1,string.len(str)-4) local cod=_G[str] local id=tonumber(string.sub(str,2)) return id,cod end --[[Other Fiend monsters on the field gain 300 ATK for each card this card points to. Spirit Monsters this card points to do not have to activate their effect during the End Phase. (Quick Effect): You can send 1 "Steinitz" Equip Card you control to the GY; Special Summon 1 "Steinitz" monster from your Deck with a different name than the sent one, in face-up Defense Position. ou can only use this effect of "Steinitz's William" once per turn.]] local id,cod=ID() function cod.initial_effect(c) --Link Summon aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkRace,RACE_FIEND),2,2) c:EnableReviveLimit() --ATK Gain local e1=Effect.CreateEffect(c) e1:SetType(EFFECT_TYPE_FIELD) e1:SetCode(EFFECT_UPDATE_ATTACK) e1:SetRange(LOCATION_MZONE) e1:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE) e1:SetTarget(cod.val) e1:SetValue(300) c:RegisterEffect(e1) --Do not return local e2=Effect.CreateEffect(c) e2:SetType(EFFECT_TYPE_FIELD) e2:SetCode(EFFECT_SPIRIT_MAYNOT_RETURN) e2:SetRange(LOCATION_MZONE) e2:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE) e2:SetTarget(cod.efftg) c:RegisterEffect(e2) --Special Summon local e4=Effect.CreateEffect(c) e4:SetDescription(aux.Stringid(id,0)) e4:SetCategory(CATEGORY_SPECIAL_SUMMON) e4:SetType(EFFECT_TYPE_QUICK_O) e4:SetCode(EVENT_FREE_CHAIN) e4:SetRange(LOCATION_MZONE) e4:SetCountLimit(1,id) e4:SetCost(cod.spcost) e4:SetTarget(cod.sptg) e4:SetOperation(cod.spop) c:RegisterEffect(e4) end function cod.val(e,c) return c~=e:GetHandler() and c:IsRace(RACE_FIEND) end function cod.efftg(e,c) return e:GetHandler():GetLinkedGroup():IsContains(c) end function cod.cfilter(c,e,tp) return c:IsSetCard(0x63d0) and c:IsType(TYPE_EQUIP) and c:IsAbleToGrave() and Duel.IsExistingMatchingCard(cod.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp,c:GetCode()) end function cod.spcost(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsExistingMatchingCard(cod.cfilter,tp,LOCATION_SZONE,0,1,nil,e,tp) end Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE) local g=Duel.SelectMatchingCard(tp,cod.cfilter,tp,LOCATION_SZONE,0,1,1,nil,e,tp) Duel.SendtoGrave(g,REASON_EFFECT) e:SetLabel(g:GetFirst():GetCode()) end function cod.spfilter(c,e,tp,code) return c:GetCode()~=code and c:IsSetCard(0x63d0) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE) end function cod.sptg(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(cod.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp,e:GetLabel()) end Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK) end function cod.spop(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler() if not c:IsRelateToEffect(e) or Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) local sg=Duel.SelectMatchingCard(tp,cod.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp,e:GetLabel()) if #sg>0 then Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP_DEFENSE) end end