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) ...@@ -8,6 +8,7 @@ function cm.initial_effect(c)
e1:SetCategory(CATEGORY_DESTROY+CATEGORY_ATKCHANGE) e1:SetCategory(CATEGORY_DESTROY+CATEGORY_ATKCHANGE)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetHintTiming(0,0x1e0) e1:SetHintTiming(0,0x1e0)
e1:SetTarget(cm.destg) e1:SetTarget(cm.destg)
e1:SetOperation(cm.desop) e1:SetOperation(cm.desop)
...@@ -44,7 +45,8 @@ function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -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 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 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 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) Duel.SetChainLimit(cm.chlimit)
end end
function cm.chlimit(e,ep,tp) function cm.chlimit(e,ep,tp)
......
...@@ -48,7 +48,7 @@ function cm.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -48,7 +48,7 @@ function cm.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end end
function cm.eqop(e,tp,eg,ep,ev,re,r,rp) function cm.eqop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() 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) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local g=Duel.SelectMatchingCard(tp,cm.eqfilter,tp,LOCATION_EXTRA,0,1,1,nil,tc) local g=Duel.SelectMatchingCard(tp,cm.eqfilter,tp,LOCATION_EXTRA,0,1,1,nil,tc)
if g:GetCount()>0 then if g:GetCount()>0 then
......
...@@ -26,6 +26,7 @@ function cm.initial_effect(c) ...@@ -26,6 +26,7 @@ function cm.initial_effect(c)
e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e2:SetCode(EVENT_PHASE+PHASE_END) e2:SetCode(EVENT_PHASE+PHASE_END)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1)
e2:SetOperation(cm.acop1) e2:SetOperation(cm.acop1)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
...@@ -174,8 +175,8 @@ function cm.filter2(c,e) ...@@ -174,8 +175,8 @@ function cm.filter2(c,e)
return not c:IsImmuneToEffect(e) return not c:IsImmuneToEffect(e)
end end
function cm.cost1(e,tp,eg,ep,ev,re,r,rp,chk) function cm.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetCounter(0x351)>=10 end if chk==0 then return e:GetHandler():GetCounter(0x351)>=5 end
e:GetHandler():RemoveCounter(tp,0x351,10,REASON_COST) e:GetHandler():RemoveCounter(tp,0x351,5,REASON_COST)
end end
function cm.target1(e,tp,eg,ep,ev,re,r,rp,chk) 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 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) ...@@ -110,7 +110,7 @@ function cm.bombop(e,tp,eg,ep,ev,re,r,rp)
e1:SetCode(EFFECT_SKIP_M1) e1:SetCode(EFFECT_SKIP_M1)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
if Duel.GetTurnPlayer()==tp and Duel.GetCurrentPhase()==PHASE_MAIN1 then if Duel.GetTurnPlayer()==tp then
e1:SetLabel(Duel.GetTurnCount()) e1:SetLabel(Duel.GetTurnCount())
e1:SetCondition(cm.skipcon) e1:SetCondition(cm.skipcon)
e1:SetReset(RESET_PHASE+PHASE_END+RESET_SELF_TURN,2) 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) ...@@ -123,7 +123,7 @@ function cm.bombop(e,tp,eg,ep,ev,re,r,rp)
e2:SetCode(EFFECT_SKIP_M1) e2:SetCode(EFFECT_SKIP_M1)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetTargetRange(0,1) e2:SetTargetRange(0,1)
if Duel.GetTurnPlayer()~=tp and Duel.GetCurrentPhase()==PHASE_MAIN1 then if Duel.GetTurnPlayer()~=tp then
e2:SetLabel(Duel.GetTurnCount()) e2:SetLabel(Duel.GetTurnCount())
e2:SetCondition(cm.skipcon) e2:SetCondition(cm.skipcon)
e2:SetReset(RESET_PHASE+PHASE_END+RESET_OPPO_TURN,2) 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) ...@@ -75,12 +75,18 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function cm.desfilter(c,e) function cm.desfilter(c,e)
return e:GetHandler():GetAttack()>c:GetAttack() return e:GetHandler():GetAttack()>=c:GetAttack()
end end
function cm.desop(e,tp,eg,ep,ev,re,r,rp) function cm.desop(e,tp,eg,ep,ev,re,r,rp)
local sg=Duel.GetMatchingGroup(cm.desfilter,tp,0,LOCATION_MZONE,nil,e) local sg=Duel.GetMatchingGroup(cm.desfilter,tp,0,LOCATION_MZONE,nil,e)
Duel.Destroy(sg,REASON_EFFECT) Duel.Destroy(sg,REASON_EFFECT)
end 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) function cm.pctg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanAddCounter(0x351,1) end if chk==0 then return e:GetHandler():IsCanAddCounter(0x351,1) end
end end
......
...@@ -20,7 +20,6 @@ function c9981001.initial_effect(c) ...@@ -20,7 +20,6 @@ function c9981001.initial_effect(c)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET) e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,9981001) e3:SetCountLimit(1,9981001)
e3:SetCondition(c9981001.condition)
e3:SetCost(c9981001.spcost) e3:SetCost(c9981001.spcost)
e3:SetTarget(c9981001.sptg) e3:SetTarget(c9981001.sptg)
e3:SetOperation(c9981001.spop) e3:SetOperation(c9981001.spop)
......
...@@ -32,12 +32,12 @@ function c9981007.initial_effect(c) ...@@ -32,12 +32,12 @@ function c9981007.initial_effect(c)
e2:SetOperation(c9981007.spop) e2:SetOperation(c9981007.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c9981007.filter(c) function c9981007.thfilter(c)
return c:IsSetCard(0x5bc1) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand() return c:IsSetCard(0x5bc1) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
end end
function c9981007.activate(e,tp,eg,ep,ev,re,r,rp) function c9981007.activate(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end 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 if g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(9981007,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=g:Select(tp,1,1,nil) local sg=g:Select(tp,1,1,nil)
......
...@@ -22,7 +22,7 @@ function c9981036.initial_effect(c) ...@@ -22,7 +22,7 @@ function c9981036.initial_effect(c)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET) e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE) e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,9981036) e2:SetCountLimit(1,99810360)
e2:SetCost(aux.bfgcost) e2:SetCost(aux.bfgcost)
e2:SetTarget(c9981036.target) e2:SetTarget(c9981036.target)
e2:SetOperation(c9981036.operation) 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