--Piaty Mistress of Gust Vine function c160008095.initial_effect(c) --pendulum summon aux.EnablePendulumAttribute(c) --splimit local e2=Effect.CreateEffect(c) e2:SetType(EFFECT_TYPE_FIELD) e2:SetRange(LOCATION_PZONE) e2:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE) e2:SetTargetRange(1,0) e2:SetTarget(c160008095.splimit) e2:SetCondition(c160008095.splimcon) c:RegisterEffect(e2) --draw local e3=Effect.CreateEffect(c) e3:SetDescription(aux.Stringid(160008095,1)) e3:SetCategory(CATEGORY_DRAW) e3:SetType(EFFECT_TYPE_IGNITION) e3:SetRange(LOCATION_PZONE) e3:SetCountLimit(1) e3:SetTarget(c160008095.target) e3:SetOperation(c160008095.operation) c:RegisterEffect(e3) --cannot direct attack local e4=Effect.CreateEffect(c) e4:SetType(EFFECT_TYPE_SINGLE) e4:SetCode(EFFECT_CANNOT_DIRECT_ATTACK) c:RegisterEffect(e4) --atkdown local e5=Effect.CreateEffect(c) e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e5:SetCode(EVENT_BATTLE_DESTROYING) e5:SetOperation(c160008095.atkop) c:RegisterEffect(e5) --spsummon local e6=Effect.CreateEffect(c) e6:SetDescription(aux.Stringid(160008095,1)) e6:SetCategory(CATEGORY_SPECIAL_SUMMON) e6:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e6:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) e6:SetCode(EVENT_TO_GRAVE) e6:SetCountLimit(1,500315981) e6:SetCondition(c160008095.spcon) e6:SetTarget(c160008095.sptg) e6:SetOperation(c160008095.spop) c:RegisterEffect(e6) end function c160008095.splimit(e,c,sump,sumtype,sumpos,targetp) if c:IsSetCard(0x885a) and c:IsType(TYPE_MONSTER) then return false end return bit.band(sumtype,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM end function c160008095.splimcon(e) return not e:GetHandler():IsForbidden() end function c160008095.filter(c) return c:IsType(TYPE_MONSTER) and c:IsSetCard(0x885a) and not c:IsCode(160008095) and c:IsAbleToRemove() end function c160008095.target(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsPlayerCanDraw(tp,1) end Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1) end function c160008095.operation(e,tp,eg,ep,ev,re,r,rp) if not Duel.IsPlayerCanDraw(tp) then return end local ct=Duel.GetFieldGroupCount(tp,LOCATION_DECK,0) if ct==0 then ct=1 end if ct>2 then ct=2 end local g=Duel.SelectMatchingCard(tp,c160008095.filter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,ct,nil) if g:GetCount()>0 then Duel.HintSelection(g) local rct=Duel.Remove(g,POS_FACEUP,REASON_EFFECT) Duel.Draw(tp,rct,REASON_EFFECT) end end function c160008095.atkop(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler() local e1=Effect.CreateEffect(c) e1:SetType(EFFECT_TYPE_SINGLE) e1:SetCode(EFFECT_UPDATE_ATTACK) e1:SetValue(-200) e1:SetReset(RESET_EVENT+0x1ff0000) c:RegisterEffect(e1) end function c160008095.spcon(e,tp,eg,ep,ev,re,r,rp) return e:GetHandler():IsReason(REASON_EFFECT) and not e:GetHandler():IsReason(REASON_RETURN) end function c160008095.spfilter(c,tp) return c:IsSetCard(0x85a) and c:IsType(TYPE_SPELL+TYPE_TRAP) and Duel.IsPlayerCanSpecialSummonMonster(tp,nil,nil,0x11,1850,0,4,RACE_AQUA,ATTRIBUTE_LIGHT) end function c160008095.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c160008095.spfilter(chkc,e,tp) end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingTarget(c160008095.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) local g=Duel.SelectTarget(tp,c160008095.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0) end function c160008095.spop(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler() local tc=Duel.GetFirstTarget() if tc:IsRelateToEffect(e) and Duel.IsPlayerCanSpecialSummonMonster(tp,nil,nil,0x11,1850,0,4,RACE_AQUA,ATTRIBUTE_LIGHT) then tc:SetStatus(STATUS_NO_LEVEL,false) local e1=Effect.CreateEffect(c) e1:SetType(EFFECT_TYPE_SINGLE) e1:SetCode(EFFECT_CHANGE_TYPE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e1:SetValue(TYPE_NORMAL+TYPE_MONSTER) e1:SetReset(RESET_EVENT+0x47c0000) tc:RegisterEffect(e1,true) local e2=e1:Clone() e2:SetCode(EFFECT_ADD_RACE) e2:SetValue(RACE_AQUA) tc:RegisterEffect(e2,true) local e3=e1:Clone() e3:SetCode(EFFECT_ADD_ATTRIBUTE) e3:SetValue(ATTRIBUTE_LIGHT) tc:RegisterEffect(e3,true) local e4=e1:Clone() e4:SetCode(EFFECT_SET_BASE_ATTACK) e4:SetValue(1850) tc:RegisterEffect(e4,true) local e5=e1:Clone() e5:SetCode(EFFECT_SET_BASE_DEFENSE) e5:SetValue(0) tc:RegisterEffect(e5,true) local e6=e1:Clone() e6:SetCode(EFFECT_CHANGE_LEVEL) e6:SetValue(4) tc:RegisterEffect(e6,true) Duel.SpecialSummon(tc,0,tp,tp,true,false,POS_FACEUP) local e7=Effect.CreateEffect(c) e7:SetType(EFFECT_TYPE_SINGLE) e7:SetCode(EFFECT_IMMUNE_EFFECT) e7:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e7:SetRange(LOCATION_MZONE) e7:SetValue(c160008095.efilter) e7:SetReset(RESET_EVENT+0x1fe0000) tc:RegisterEffect(e7) local e8=Effect.CreateEffect(c) e8:SetType(EFFECT_TYPE_SINGLE) e8:SetCode(EFFECT_LEAVE_FIELD_REDIRECT) e8:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_IGNORE_IMMUNE) e8:SetReset(RESET_EVENT+0x47e0000) e8:SetValue(LOCATION_REMOVED) tc:RegisterEffect(e8,true) end end function c160008095.efilter(e,re) return re:IsActiveType(TYPE_MONSTER) end