--Schemhamparae, Eccellenza Ængelica || Schemhamparae, Ængelic Excellence --Scripted by: XGlitchy30 local s,id=GetID() function s.initial_effect(c) c:EnableReviveLimit() aux.AddOrigTimeleapType(c) aux.AddTimeleapProc(c,11,s.TLcon,aux.FilterBoolFunction(Card.IsSetCard,0xae6),{s.TLop,s.TLval}) --deck search local e1=Effect.CreateEffect(c) e1:SetDescription(aux.Stringid(id,0)) e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_REMOVE+CATEGORY_ATKCHANGE) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetProperty(EFFECT_FLAG_DELAY) e1:SetCode(EVENT_SPSUMMON_SUCCESS) e1:SetCondition(s.condition) e1:SetTarget(s.target) e1:SetOperation(s.activate) c:RegisterEffect(e1) --Double damage local e3=Effect.CreateEffect(c) e3:SetType(EFFECT_TYPE_SINGLE) e3:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE) e3:SetCondition(s.damcon) e3:SetValue(aux.ChangeBattleDamage(1,DOUBLE_DAMAGE)) c:RegisterEffect(e3) end --timeleap summon function s.TLcon(e,c) return Duel.GetMatchingGroupCount(Card.IsFacedown,e:GetHandlerPlayer(),LOCATION_REMOVED,0,nil)<3 end function s.TLop(e,tp,eg,ep,ev,re,r,rp,c,g) Duel.Remove(g,POS_FACEDOWN,REASON_MATERIAL+REASON_TIMELEAP) end function s.TLval(c,e,tp) return c:IsAbleToRemove(tp,POS_FACEDOWN) end --deck search function s.condition(e) return e:GetHandler():IsSummonType(SUMMON_TYPE_TIMELEAP) end function s.target(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then local g=Duel.GetDecktopGroup(tp,7) return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>=7 and g:FilterCount(Card.IsAbleToRemove,nil,tp,POS_FACEDOWN)==7 end Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,6,tp,LOCATION_DECK) local atk=Duel.GetMatchingGroupCount(Card.IsFacedown,tp,LOCATION_REMOVED,0,nil)*100 if atk>0 then Duel.SetOperationInfo(0,CATEGORY_ATKCHANGE,e:GetHandler(),1,tp,atk) end end function s.filter(c) return c:IsSetCard(0xae6) and c:IsAbleToHand() end function s.activate(e,tp,eg,ep,ev,re,r,rp) if Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>=7 then local g=Duel.GetDecktopGroup(tp,7) Duel.ConfirmCards(tp,g) Duel.DisableShuffleCheck() if g:IsExists(s.filter,1,nil) then Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) local sg=g:FilterSelect(tp,s.filter,1,1,nil) Duel.SendtoHand(sg,nil,REASON_EFFECT) Duel.ConfirmCards(1-tp,sg) Duel.ShuffleHand(tp) g:Sub(sg) end Duel.BreakEffect() Duel.Remove(g:Filter(Card.IsAbleToRemove,nil,tp,POS_FACEDOWN),POS_FACEDOWN,REASON_EFFECT) end local c=e:GetHandler() if c:IsFaceup() and c:IsRelateToEffect(e) then local atk=Duel.GetMatchingGroupCount(Card.IsFacedown,tp,LOCATION_REMOVED,0,nil)*100 if atk<=0 then return end local e1=Effect.CreateEffect(c) e1:SetType(EFFECT_TYPE_SINGLE) e1:SetCode(EFFECT_UPDATE_ATTACK) e1:SetValue(atk) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE+RESET_PHASE+PHASE_END) c:RegisterEffect(e1) end end --change damage function s.damcon(e) local bc=e:GetHandler():GetBattleTarget() return bc~=nil and bc:IsControler(1-e:GetHandlerPlayer()) and Duel.GetMatchingGroupCount(Card.IsFacedown,e:GetHandlerPlayer(),LOCATION_REMOVED,0,nil)>=10 end