--Sepialife - Voiceless Fugue --Scripted by AlphaKretin --For Nemoma local s = c33701011 local id = 33701011 function s.initial_effect(c) c:SetSPSummonOnce(id) --Special Summon local e1 = Effect.CreateEffect(c) e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetDescription(aux.Stringid(id, 0)) e1:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_TRIGGER_O) e1:SetCode(EVENT_PHASE + PHASE_END) e1:SetRange(LOCATION_HAND + LOCATION_GRAVE) e1:SetCountLimit(1) e1:SetCondition(s.spcon) e1:SetTarget(s.sptg) e1:SetOperation(s.spop) c:RegisterEffect(e1) Duel.AddCustomActivityCounter(id, ACTIVITY_CHAIN, s.counterfilter) --Special Summon other local e2 = Effect.CreateEffect(c) e2:SetDescription(aux.Stringid(id, 0)) e2:SetCategory(CATEGORY_SPECIAL_SUMMON) e2:SetType(EFFECT_TYPE_SINGLE + EFFECT_TYPE_TRIGGER_O) e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP + EFFECT_FLAG_DELAY) e2:SetCode(EVENT_SPSUMMON_SUCCESS) e2:SetTarget(s.sptg2) e2:SetOperation(s.spop2) c:RegisterEffect(e2) end function s.counterfilter(re, tp, cid) return re:GetHandler():IsSetCard(0x144e) end function s.spcon(e, tp, eg, ep, ev, re, r, rp) return Duel.GetCustomActivityCount(id, tp, ACTIVITY_CHAIN) == 0 end function s.sptg(e, tp, eg, ep, ev, re, r, rp, chk) local c = e:GetHandler() if chk == 0 then return Duel.GetLocationCount(tp, LOCATION_MZONE) > 0 and c:IsCanBeSpecialSummoned(e, 0, tp, false, false) end Duel.SetOperationInfo(0, CATEGORY_SPECIAL_SUMMON, c, 1, 0, 0) end function s.spop(e, tp, eg, ep, ev, re, r, rp) local c = e:GetHandler() if c:IsRelateToEffect(e) then Duel.SpecialSummon(c, 0, tp, tp, false, false, POS_FACEUP) end end function s.spfilter(c, e, tp) return c:IsSetCard(0x144e) and c:IsCanBeSpecialSummoned(e, 0, tp, false, false) end function s.sptg2(e, tp, eg, ep, ev, re, r, rp, chk) if chk == 0 then return Duel.GetLocationCount(tp, LOCATION_MZONE) > 0 and Duel.IsExistingMatchingCard(s.spfilter, tp, LOCATION_HAND + LOCATION_GRAVE, 0, 1, nil, e, tp) end Duel.SetOperationInfo(0, CATEGORY_SPECIAL_SUMMON, nil, 1, tp, LOCATION_HAND + LOCATION_GRAVE) end function s.spop2(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, aux.NecroValleyFilter(s.spfilter), tp, LOCATION_HAND + LOCATION_GRAVE, 0, 1, 1, nil, e, tp ) if #g > 0 then Duel.SpecialSummon(g, 0, tp, tp, false, false, POS_FACEUP) end end