--Stardust Shooting Nebula Divine Dragon --by Artorikus --CONVERTED FROM EDOPRO TO KOISHIPRO by: XGlitchy30 local s,id=GetID() function s.initial_effect(c) --fusion material c:EnableReviveLimit() aux.AddFusionProcFun2(c,s.ffilter,aux.FilterBoolFunction(Card.IsFusionCode,id-2),true) aux.AddContactFusionProcedure(c,Card.IsReleasable,LOCATION_MZONE,0,Duel.Release,REASON_COST|REASON_MATERIAL) --must be fusion summoned local e0=Effect.CreateEffect(c) e0:SetType(EFFECT_TYPE_SINGLE) e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE|EFFECT_FLAG_UNCOPYABLE) e0:SetCode(EFFECT_SPSUMMON_CONDITION) e0:SetValue(aux.fuslimit) c:RegisterEffect(e0) --immune local e2=Effect.CreateEffect(c) e2:SetType(EFFECT_TYPE_SINGLE) e2:SetCode(EFFECT_IMMUNE_EFFECT) e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e2:SetRange(LOCATION_MZONE) e2:SetValue(s.efilter) c:RegisterEffect(e2) --atkup local e3=Effect.CreateEffect(c) e3:SetType(EFFECT_TYPE_SINGLE) e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e3:SetCode(EFFECT_UPDATE_ATTACK) e3:SetRange(LOCATION_MZONE) e3:SetValue(s.val) c:RegisterEffect(e3) --double attack local e4=Effect.CreateEffect(c) e4:SetType(EFFECT_TYPE_SINGLE) e4:SetCode(EFFECT_EXTRA_ATTACK) e4:SetValue(1) c:RegisterEffect(e4) --negate local e5=Effect.CreateEffect(c) e5:SetDescription(aux.Stringid(id,4)) e5:SetCategory(CATEGORY_NEGATE|CATEGORY_DESTROY) e5:SetType(EFFECT_TYPE_QUICK_O) e5:SetProperty(EFFECT_FLAG_DAMAGE_STEP|EFFECT_FLAG_DAMAGE_CAL) e5:SetCode(EVENT_CHAINING) e5:SetRange(LOCATION_MZONE) e5:SetCountLimit(1) e5:SetCondition(s.discon) e5:SetTarget(s.distg) e5:SetOperation(s.disop) c:RegisterEffect(e5) end function s.ffilter(c) return c:IsFusionType(TYPE_SYNCHRO) and c:IsFusionType(TYPE_TUNER) end function s.efilter(e,te) return te:GetOwner()~=e:GetOwner() end function s.val(e,c) return Duel.GetMatchingGroupCount(aux.MonsterFilter(Card.IsSetCard,0xa3),e:GetHandlerPlayer(),LOCATION_GRAVE,0,nil)*500 end function s.discon(e,tp,eg,ep,ev,re,r,rp) return not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) and Duel.IsChainNegatable(ev) end function s.distg(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return true end Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0) if re:GetHandler():IsDestructable() and re:GetHandler():IsRelateToChain(ev) then Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,1,0,0) end end function s.disop(e,tp,eg,ep,ev,re,r,rp) if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToChain(ev) then Duel.Destroy(eg,REASON_EFFECT) end end