--Amethyst-Wing Phantom Dragon local ref=_G['c'..171000114] function c171000114.initial_effect(c) --pendulum summon aux.EnablePendulumAttribute(c) --splimit local e1=Effect.CreateEffect(c) e1:SetType(EFFECT_TYPE_FIELD) e1:SetRange(LOCATION_PZONE) e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE) e1:SetTargetRange(1,0) e1:SetTarget(c171000114.splimit) c:RegisterEffect(e1) --pendulum set local e2=Effect.CreateEffect(c) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e2:SetCode(EVENT_DESTROYED) e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) e2:SetCountLimit(1,171000114) e2:SetCondition(c171000114.pencon) e2:SetTarget(c171000114.pentg) e2:SetOperation(c171000114.penop) c:RegisterEffect(e2) --atk local e2x=Effect.CreateEffect(c) e2x:SetCategory(CATEGORY_ATKCHANGE) e2x:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e2x:SetCode(EVENT_BE_BATTLE_TARGET) e2x:SetRange(LOCATION_PZONE) e2x:SetCountLimit(1,171000114) e2x:SetCondition(c171000114.atkcon) e2x:SetOperation(c171000114.atkop) c:RegisterEffect(e2x) --cannot be used as material local e3=Effect.CreateEffect(c) e3:SetType(EFFECT_TYPE_SINGLE) e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e3:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL) e3:SetValue(1) c:RegisterEffect(e3) local e4=e3:Clone() e4:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL) c:RegisterEffect(e4) local e5=e3:Clone() e5:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL) c:RegisterEffect(e5) --atkup local e7=Effect.CreateEffect(c) e7:SetType(EFFECT_TYPE_SINGLE) e7:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e7:SetCode(EFFECT_UPDATE_ATTACK) e7:SetRange(LOCATION_MZONE) e7:SetValue(c171000114.atkval) c:RegisterEffect(e7) --pierce local e8=Effect.CreateEffect(c) e8:SetType(EFFECT_TYPE_SINGLE) e8:SetCode(EFFECT_PIERCE) c:RegisterEffect(e8) end function c171000114.splimit(e,c,sump,sumtype,sumpos,targetp) return not c:IsSetCard(0xfef) and bit.band(sumtype,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM end function c171000114.pencon(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler() return c:IsPreviousPosition(POS_FACEUP) and c:IsPreviousLocation(LOCATION_PZONE) end function c171000114.penfilter(c) return c:IsSetCard(0xfef) and c:IsType(TYPE_PENDULUM) and not c:IsForbidden() end function c171000114.pentg(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return (Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1)) and Duel.IsExistingMatchingCard(c171000112.penfilter,tp,LOCATION_DECK,0,1,nil) end end function c171000114.penop(e,tp,eg,ep,ev,re,r,rp) if not (Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1)) then return end Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD) local g=Duel.SelectMatchingCard(tp,c171000114.penfilter,tp,LOCATION_DECK,0,1,1,nil) local tc=g:GetFirst() if tc then Duel.MoveToField(tc,tp,tp,LOCATION_PZONE,POS_FACEUP,true) end end function c171000114.atkcon(e,tp,eg,ep,ev,re,r,rp) local at=eg:GetFirst() return at and at:IsFaceup() and at:IsControler(tp) and at:IsSetCard(0xfef) and at:GetDefense()>0 end function c171000114.atkop(e,tp,eg,ep,ev,re,r,rp) if not e:GetHandler():IsRelateToEffect(e) then return end local atk=eg:GetFirst() if atk and atk:IsFaceup() and atk:GetDefense()>0 and atk:IsRelateToBattle() then local e1=Effect.CreateEffect(e:GetHandler()) e1:SetType(EFFECT_TYPE_SINGLE) e1:SetCode(EFFECT_UPDATE_ATTACK) e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END) e1:SetValue(atk:GetDefense()) atk:RegisterEffect(e1) end end function c171000114.atkfilter(c) return c:IsFaceup() and c:IsType(TYPE_MONSTER) and c:IsSetCard(0xfef) end function c171000114.atkval(e,c) return Duel.GetMatchingGroupCount(c171000114.atkfilter,c:GetControler(),LOCATION_MZONE,LOCATION_MZONE,e:GetHandler())*500 end