--created by NTA, coded by Remnance & Lyris local s,id=GetID() function s.initial_effect(c) aux.AddSynchroMixProcedure(c,aux.NonTuner(Card.IsSynchroType,TYPE_SYNCHRO),nil,nil,aux.Tuner(Card.IsRace,RACE_FAIRY),2,99) c:EnableReviveLimit() local e1=Effect.CreateEffect(c) e1:SetType(EFFECT_TYPE_SINGLE) e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e1:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET) e1:SetRange(LOCATION_MZONE) e1:SetCondition(s.tgcon) e1:SetValue(aux.tgoval) c:RegisterEffect(e1) local e2=Effect.CreateEffect(c) e2:SetType(EFFECT_TYPE_SINGLE) e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT) e2:SetRange(LOCATION_MZONE) e2:SetCondition(s.tgcon) e2:SetValue(aux.indoval) c:RegisterEffect(e2) local e3=Effect.CreateEffect(c) e3:SetType(EFFECT_TYPE_SINGLE) e3:SetCode(EFFECT_DIRECT_ATTACK) c:RegisterEffect(e3) local e4=Effect.CreateEffect(c) e4:SetType(EFFECT_TYPE_SINGLE) e4:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE) e4:SetCondition(s.rdcon) e4:SetValue(aux.ChangeBattleDamage(1,HALF_DAMAGE)) c:RegisterEffect(e4) local e5=Effect.CreateEffect(c) e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e5:SetCode(EVENT_SPSUMMON_SUCCESS) e5:SetRange(LOCATION_MZONE) e5:SetCountLimit(1) e5:SetProperty(EFFECT_FLAG_DELAY) e5:SetCategory(CATEGORY_RECOVER) e5:SetDescription(aux.Stringid(id//100,5)) e5:SetTarget(s.rectg) e5:SetOperation(s.recop) c:RegisterEffect(e5) local e6=e5:Clone() e6:SetCategory(CATEGORY_ATKCHANGE) e6:SetDescription(aux.Stringid(id//100,6)) e6:SetOperation(s.atkop) c:RegisterEffect(e6) end function s.cfilter(c) return c:IsCode(id//100) end function s.tgcon(e,tp,eg,ep,ev,re,r,rp) return Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_GRAVE,0,1,nil) end function s.rdcon(e) local c=e:GetHandler() local tp=e:GetHandlerPlayer() return Duel.GetAttackTarget()==nil and c:GetEffectCount(EFFECT_DIRECT_ATTACK)<2 and Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE)>0 end function s.rectg(e,tp,eg,ep,ev,re,r,rp,chk) local c=eg:GetFirst() if chk==0 then return rp==1-tp and #eg==1 and c:IsFaceup() and c:IsLocation(LOCATION_MZONE) end Duel.SetTargetCard(eg) if e:IsHasCategory(CATEGORY_RECOVER) then Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,0) end end function s.recop(e,tp,eg,ep,ev,re,r,rp) local tc=eg:GetFirst() if tc:IsRelateToEffect(e) and tc:IsFaceup() then Duel.Recover(tp,tc:GetAttack(),REASON_EFFECT) end end function s.atkop(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler() local tc=eg:GetFirst() if not c:IsRelateToEffect(e) or c:IsFacedown() or not tc:IsRelateToEffect(e) or tc:IsFacedown() then return end local e1=Effect.CreateEffect(c) e1:SetType(EFFECT_TYPE_SINGLE) e1:SetProperty(EFFECT_FLAG_COPY_INHERIT) e1:SetCode(EFFECT_UPDATE_ATTACK) e1:SetValue(tc:GetAttack()) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE) c:RegisterEffect(e1) end