Commit 421a68fe authored by Nemo Ma's avatar Nemo Ma

fix 0803

parent 6ef39503
expansions/pics/9980565.jpg

49.8 KB | W: | H:

expansions/pics/9980565.jpg

44.8 KB | W: | H:

expansions/pics/9980565.jpg
expansions/pics/9980565.jpg
expansions/pics/9980565.jpg
expansions/pics/9980565.jpg
  • 2-up
  • Swipe
  • Onion skin
......@@ -8,6 +8,7 @@ function cm.initial_effect(c)
e1:SetCategory(CATEGORY_DESTROY+CATEGORY_ATKCHANGE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetHintTiming(0,0x1e0)
e1:SetTarget(cm.destg)
e1:SetOperation(cm.desop)
......@@ -44,7 +45,8 @@ function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
--if chk==0 then return c13257336.check(Duel.GetAttacker(),tp) or c13257336.check(Duel.GetAttackTarget(),tp) end
if chkc==0 then return chkc:IsOnField() and cm.pcfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(cm.pcfilter,tp,LOCATION_MZONE,0,1,nil) and Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE) end
local sg=Duel.GetMatchingGroup(aux.TRUE,tp,0,LOCATION_MZONE,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,cm.pcfilter,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SetChainLimit(cm.chlimit)
end
function cm.chlimit(e,ep,tp)
......
......@@ -48,7 +48,7 @@ function cm.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end
function cm.eqop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or tc:IsFacedown() or not c:IsRelateToEffect(e) or not tc:IsRelateToEffect(e) then return end
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or tc:IsFacedown() or not e:GetHandler():IsRelateToEffect(e) or not tc:IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local g=Duel.SelectMatchingCard(tp,cm.eqfilter,tp,LOCATION_EXTRA,0,1,1,nil,tc)
if g:GetCount()>0 then
......
......@@ -26,6 +26,7 @@ function cm.initial_effect(c)
e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e2:SetCode(EVENT_PHASE+PHASE_END)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1)
e2:SetOperation(cm.acop1)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
......@@ -174,8 +175,8 @@ function cm.filter2(c,e)
return not c:IsImmuneToEffect(e)
end
function cm.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetCounter(0x351)>=10 end
e:GetHandler():RemoveCounter(tp,0x351,10,REASON_COST)
if chk==0 then return e:GetHandler():GetCounter(0x351)>=5 end
e:GetHandler():RemoveCounter(tp,0x351,5,REASON_COST)
end
function cm.target1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(filter2,tp,0,LOCATION_ONFIELD,1,nil) end
......
......@@ -110,7 +110,7 @@ function cm.bombop(e,tp,eg,ep,ev,re,r,rp)
e1:SetCode(EFFECT_SKIP_M1)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0)
if Duel.GetTurnPlayer()==tp and Duel.GetCurrentPhase()==PHASE_MAIN1 then
if Duel.GetTurnPlayer()==tp then
e1:SetLabel(Duel.GetTurnCount())
e1:SetCondition(cm.skipcon)
e1:SetReset(RESET_PHASE+PHASE_END+RESET_SELF_TURN,2)
......@@ -123,7 +123,7 @@ function cm.bombop(e,tp,eg,ep,ev,re,r,rp)
e2:SetCode(EFFECT_SKIP_M1)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetTargetRange(0,1)
if Duel.GetTurnPlayer()~=tp and Duel.GetCurrentPhase()==PHASE_MAIN1 then
if Duel.GetTurnPlayer()~=tp then
e2:SetLabel(Duel.GetTurnCount())
e2:SetCondition(cm.skipcon)
e2:SetReset(RESET_PHASE+PHASE_END+RESET_OPPO_TURN,2)
......
......@@ -75,12 +75,18 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
c:RegisterEffect(e4)
end
function cm.desfilter(c,e)
return e:GetHandler():GetAttack()>c:GetAttack()
return e:GetHandler():GetAttack()>=c:GetAttack()
end
function cm.desop(e,tp,eg,ep,ev,re,r,rp)
local sg=Duel.GetMatchingGroup(cm.desfilter,tp,0,LOCATION_MZONE,nil,e)
Duel.Destroy(sg,REASON_EFFECT)
end
function cm.pcfilter(c,tp)
return c:IsReason(REASON_BATTLE+REASON_EFFECT) and c:IsPreviousLocation(LOCATION_MZONE) and c:GetPreviousControler()==tp
end
function cm.pccon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.pcfilter,1,nil,1-tp)
end
function cm.pctg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanAddCounter(0x351,1) end
end
......
......@@ -20,7 +20,6 @@ function c9981001.initial_effect(c)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,9981001)
e3:SetCondition(c9981001.condition)
e3:SetCost(c9981001.spcost)
e3:SetTarget(c9981001.sptg)
e3:SetOperation(c9981001.spop)
......
......@@ -32,12 +32,12 @@ function c9981007.initial_effect(c)
e2:SetOperation(c9981007.spop)
c:RegisterEffect(e2)
end
function c9981007.filter(c)
function c9981007.thfilter(c)
return c:IsSetCard(0x5bc1) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
end
function c9981007.activate(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
local g=Duel.GetMatchingGroup(c9981007.filter,tp,LOCATION_DECK,0,nil)
local g=Duel.GetMatchingGroup(c9981007.thfilter,tp,LOCATION_DECK,0,nil)
if g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(9981007,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=g:Select(tp,1,1,nil)
......
......@@ -22,7 +22,7 @@ function c9981036.initial_effect(c)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,9981036)
e2:SetCountLimit(1,99810360)
e2:SetCost(aux.bfgcost)
e2:SetTarget(c9981036.target)
e2:SetOperation(c9981036.operation)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment