--カップ・オブ・エース function c32843002.initial_effect(c) --Activate local e1=Effect.CreateEffect(c) e1:SetDescription(aux.Stringid(32843002,0)) e1:SetCategory(CATEGORY_DRAW+CATEGORY_COIN+CATEGORY_HANDES) e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetCode(EVENT_FREE_CHAIN) e1:SetCountLimit(1,32843002) e1:SetTarget(c32843002.target) e1:SetOperation(c32843002.activate) c:RegisterEffect(e1) --LP Gain local e2=Effect.CreateEffect(c) e2:SetDescription(aux.Stringid(32843002,1)) e2:SetType(EFFECT_TYPE_IGNITION) e2:SetCategory(CATEGORY_RECOVER+CATEGORY_DRAW) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e2:SetCode(EVENT_FREE_CHAIN) e2:SetRange(LOCATION_GRAVE) e2:SetCost(c32843002.cost) e2:SetTarget(c32843002.tg) e2:SetOperation(c32843002.op) c:RegisterEffect(e2) end c32843002.toss_coin=true function c32843002.target(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsPlayerCanDraw(tp,3) and Duel.IsPlayerCanDraw(1-tp,3) end Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,1) end function c32843002.activate(e,tp,eg,ep,ev,re,r,rp) local res=Duel.TossCoin(tp,1) if res==1 then Duel.Draw(tp,3,REASON_EFFECT) Duel.ShuffleHand(p) Duel.BreakEffect() Duel.DiscardHand(tp,nil,2,2,REASON_EFFECT+REASON_DISCARD) else Duel.Draw(1-tp,3,REASON_EFFECT) Duel.ShuffleHand(p) Duel.BreakEffect() Duel.DiscardHand(1-tp,nil,2,2,REASON_EFFECT+REASON_DISCARD) end end function c32843002.filter(c) return c:IsCode(32843002) and c:IsAbleToRemoveAsCost() end function c32843002.cost(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsExistingMatchingCard(c32843002.filter,tp,LOCATION_GRAVE,0,3,nil) end Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) local g=Duel.SelectMatchingCard(tp,c32843002.filter,tp,LOCATION_GRAVE,0,3,3,nil) Duel.Remove(g,POS_FACEUP,REASON_EFFECT) end function c32843002.tg(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return true end Duel.SetTargetPlayer(tp) Duel.SetTargetParam(1000) Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,1000) end function c32843002.op(e,tp,eg,ep,ev,re,r,rp) local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM) Duel.Recover(p,d,REASON_EFFECT) Duel.Draw(tp,1,REASON_EFFECT) end