--Leviathan's Call --Script by APurpleApple local s = c56132086 function s.initial_effect(c) --Activate local e1=Effect.CreateEffect(c) e1:SetCategory(CATEGORY_TOGRAVE) e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetCode(EVENT_FREE_CHAIN) e1:SetCountLimit(1,56132086) e1:SetCost(s.cost) e1:SetTarget(s.target) e1:SetOperation(s.action) c:RegisterEffect(e1) end function s.cost(e,tp,eg,ep,ev,re,r,rp,chk) if chk == 0 then return true end Duel.Remove(Duel.GetDecktopGroup(tp,3), POS_FACEDOWN, REASON_COST) end function s.target(e,tp,eg,ep,ev,re,r,rp,chk) local c = e:GetHandler() if chk==0 then return Duel.IsExistingMatchingCard(s.filter, tp, LOCATION_DECK, 0,1, nil) end Duel.SetOperationInfo(0, CATEGORY_TOGRAVE, nil, 1, tp, LOCATION_DECK) end function s.action(e,tp,eg,ep,ev,re,r,rp) local c = e:GetHandler() Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE) local g = Duel.SelectMatchingCard(tp, s.filter,tp,LOCATION_DECK,0,1,1,nil) Duel.SendtoGrave(g,REASON_EFFECT) local e1=Effect.CreateEffect(e:GetHandler()) e1:SetType(EFFECT_TYPE_FIELD) e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetTargetRange(1,0) e1:SetTarget(s.splimit) e1:SetReset(RESET_PHASE+PHASE_END) Duel.RegisterEffect(e1,tp) end function s.filter(c) return c:IsRace(RACE_SEASERPENT) and c:IsAbleToGrave() end function s.splimit(e,c) return not c:IsRace(RACE_SEASERPENT) end