--Tesoro Spektrale --Scripted by: XGlitchy30 local s,id = GetID() function s.initial_effect(c) c:SetUniqueOnField(1,0,id) --Activate local e1=Effect.CreateEffect(c) e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetCode(EVENT_FREE_CHAIN) e1:SetCountLimit(1,id+EFFECT_COUNT_CODE_OATH) c:RegisterEffect(e1) --protection local e2=Effect.CreateEffect(c) e2:SetType(EFFECT_TYPE_FIELD) e2:SetCode(EFFECT_INDESTRUCTABLE_BATTLE) e2:SetRange(LOCATION_SZONE) e2:SetTargetRange(LOCATION_MZONE,0) e2:SetTarget(s.protect) e2:SetValue(1) c:RegisterEffect(e2) local e3=e2:Clone() e3:SetCode(EFFECT_INDESTRUCTABLE_EFFECT) c:RegisterEffect(e3) --increase draw local e4=Effect.CreateEffect(c) e4:SetType(EFFECT_TYPE_FIELD) e4:SetCode(EFFECT_DRAW_COUNT) e4:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e4:SetRange(LOCATION_SZONE) e4:SetTargetRange(1,0) e4:SetCondition(s.con) e4:SetValue(3) c:RegisterEffect(e4) --summon limit local e5=Effect.CreateEffect(c) e5:SetType(EFFECT_TYPE_FIELD) e5:SetRange(LOCATION_SZONE) e5:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e5:SetCode(EFFECT_CANNOT_SUMMON) e5:SetTargetRange(1,0) e5:SetTarget(s.sumlimit) c:RegisterEffect(e5) local e6=e5:Clone() e6:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON) c:RegisterEffect(e6) local e7=e5:Clone() e7:SetCode(EFFECT_CANNOT_FLIP_SUMMON) c:RegisterEffect(e7) end function s.protect(e,c) return c:IsType(TYPE_XYZ) and c:IsAttribute(ATTRIBUTE_DARK) and c:GetOverlayGroup():IsExists(Card.IsSetCard,1,nil,0x27a) end function s.filter(c) return s.protect(nil,c) end function s.con(e) return Duel.IsExistingMatchingCard(s.filter,e:GetHandlerPlayer(),LOCATION_MZONE,0,3,nil) end function s.sumlimit(e,c,sump,sumtype,sumpos,targetp,se) return not c:IsAttribute(ATTRIBUTE_DARK) end