Commit 7aec3078 authored by POLYMER's avatar POLYMER

fix

parent c0f08f68
......@@ -58,7 +58,7 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EVENT_CHAIN_SOLVED)
e1:SetCountLimit(1)
e1:SetLabel(ev+1)
e1:SetLabel(Duel.GetCurrentChain())
e1:SetCondition(cm.rscon)
e1:SetOperation(cm.rsop)
e1:SetReset(RESET_CHAIN)
......
......@@ -53,7 +53,9 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local g=Duel.SelectTarget(tp,cm.filter,tp,LOCATION_ONFIELD+LOCATION_GRAVE,0,1,1,e:GetHandler())
if not g or #g==0 then Duel.GetCurrentChain=_GetCurrentChain e:SetLabelObject(nil) return end
local te,ceg,cep,cev,cre,cr,crp=g:GetFirst():CheckActivateEffect(false,true,true)
local te,ceg,cep,cev,cre,cr,crp=g:GetFirst():CheckActivateEffect(false,true,true) --g:GetFirst():GetActivateEffect(),eg,ep,ev,re,r,rp --
--Debug.Message(te==g:GetFirst():GetActivateEffect())
--if g:GetFirst():IsOriginalSetCard(0x97d) then te=g:GetFirst():GetActivateEffect() end
Duel.GetCurrentChain=_GetCurrentChain
Duel.ClearTargetCard()
g:GetFirst():CreateEffectRelation(e)
......@@ -69,7 +71,7 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EVENT_CHAIN_SOLVED)
e1:SetCountLimit(1)
e1:SetLabel(ev+1)
e1:SetLabel(Duel.GetCurrentChain())
e1:SetCondition(cm.rscon)
e1:SetOperation(cm.rsop)
e1:SetReset(RESET_CHAIN)
......@@ -80,7 +82,7 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local te=e:GetLabelObject()
if te and te:GetHandler():IsRelateToEffect(e) and Duel.SendtoDeck(te:GetHandler(),nil,2,REASON_EFFECT)>0 then
if te and aux.GetValueType(te)=="Effect" and te:GetHandler():IsRelateToEffect(e) and Duel.SendtoDeck(te:GetHandler(),nil,2,REASON_EFFECT)>0 then
if te:GetHandler():IsLocation(LOCATION_DECK) then Duel.ShuffleDeck(tp) end
e:SetLabelObject(te:GetLabelObject())
local op=te:GetOperation()
......
......@@ -92,7 +92,7 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EVENT_CHAIN_SOLVED)
e1:SetCountLimit(1)
e1:SetLabel(ev+1)
e1:SetLabel(Duel.GetCurrentChain())
e1:SetCondition(cm.rscon)
e1:SetOperation(cm.rsop)
e1:SetReset(RESET_CHAIN)
......
......@@ -55,7 +55,7 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EVENT_CHAIN_SOLVED)
e1:SetCountLimit(1)
e1:SetLabel(ev+1)
e1:SetLabel(Duel.GetCurrentChain())
e1:SetCondition(cm.rscon)
e1:SetOperation(cm.rsop)
e1:SetReset(RESET_CHAIN)
......
......@@ -48,7 +48,7 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EVENT_CHAIN_SOLVED)
e1:SetCountLimit(1)
e1:SetLabel(ev+1)
e1:SetLabel(Duel.GetCurrentChain())
e1:SetCondition(cm.rscon)
e1:SetOperation(cm.rsop)
e1:SetReset(RESET_CHAIN)
......
......@@ -100,7 +100,7 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EVENT_CHAIN_SOLVED)
e1:SetCountLimit(1)
e1:SetLabel(ev+1)
e1:SetLabel(Duel.GetCurrentChain())
e1:SetCondition(cm.rscon)
e1:SetOperation(cm.rsop)
e1:SetReset(RESET_CHAIN)
......@@ -181,6 +181,11 @@ function cm.adjustop(e,tp,eg,ep,ev,re,r,rp)
end
function cm.handop(e,tp,eg,ep,ev,re,r,rp)
Duel.ShuffleHand(tp)
if e:GetCode()==EVENT_SPSUMMON_SUCCESS and eg and eg:FilterCount(Card.IsSummonType,nil,SUMMON_TYPE_XYZ)>0 then
for tc in aux.Next(eg:GetFirst():GetOverlayGroup()) do
tc:CancelToGrave()
end
end
end
function cm.rscon(e,tp,eg,ep,ev,re,r,rp)
return ev==e:GetLabel()
......
......@@ -158,6 +158,7 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET)
e1:SetValue(TYPE_TRAP+TYPE_COUNTER)
c:RegisterEffect(e1)
c:SetStatus(STATUS_SET_TURN,true)
else
c:SetCardData(CARDDATA_TYPE,TYPE_TRAP+TYPE_COUNTER)
local e2=Effect.CreateEffect(c)
......@@ -214,6 +215,7 @@ function cm.activate2(e,tp,eg,ep,ev,re,r,rp)
local setg=Group.CreateGroup()
for tc in aux.Next(g) do
tc:CancelToGrave()
--Debug.Message(tc:IsStatus(STATUS_LEAVE_CONFIRMED))
if (tc:IsType(TYPE_MONSTER) and Duel.ChangePosition(tc,POS_FACEDOWN_DEFENSE)>0) or Duel.ChangePosition(tc,POS_FACEDOWN)>0 then flag=1 end
local loc=0
if tc:IsType(TYPE_FIELD) then loc=LOCATION_FZONE
......
......@@ -35,6 +35,14 @@ function cm.initial_effect(c)
local _GetActiveType=Effect.GetActiveType
local _NegateActivation=Duel.NegateActivation
local _ChangeChainOperation=Duel.ChangeChainOperation
local _GetType=Effect.GetType
local _IsHasType=Effect.IsHasType
function Effect.GetType(e)
if e:GetDescription()==aux.Stringid(m,0) then return EFFECT_TYPE_ACTIVATE else return _GetType(e) end
end
function Effect.IsHasType(e,typ)
if e:GetDescription()==aux.Stringid(m,0) then return EFFECT_TYPE_ACTIVATE&typ>0 else return _IsHasType(e,typ) end
end
function Effect.GetActiveType(e)
if e:GetDescription()==aux.Stringid(m,0) then
return TYPE_TRAP+TYPE_COUNTER
......@@ -158,7 +166,7 @@ function cm.LinkOperation(f,minc,maxc,gf)
c:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD,0,1,cid)
for oc in aux.Next(g1) do
local te,te2=oc:GetActivateEffect()
if te2 and oc:IsType(TYPE_TRAP) then te=te2 end
if oc:GetOriginalCode()==11451827 and te2 and oc:IsType(TYPE_TRAP) then te=te2 end
local con=te:GetCondition()
local tg=te:GetTarget()
local op=te:GetOperation()
......@@ -216,6 +224,9 @@ function cm.btg(tg)
local c=e:GetLabelObject()
c:ResetFlagEffect(m)
tg(e,tp,eg,ep,ev,re,r,rp,1)
if e:GetHandler():IsType(TYPE_COUNTER) then
Duel.SetChainLimit(function(e) return e:GetHandler():IsType(TYPE_COUNTER) and e:IsHasType(EFFECT_TYPE_ACTIVATE) end)
end
end
end
function cm.bop(op)
......@@ -231,7 +242,7 @@ function cm.costop(e,tp,eg,ep,ev,re,r,rp)
local tc=te:GetHandler()
Duel.ChangePosition(tc,POS_FACEUP)
tc:SetStatus(STATUS_EFFECT_ENABLED,false)
if tc:IsType(TYPE_COUNTER) then te:SetType(EFFECT_TYPE_QUICK_F+EFFECT_TYPE_ACTIVATE) else te:SetType(EFFECT_TYPE_QUICK_F+EFFECT_TYPE_ACTIVATE) end
--te:SetType(EFFECT_TYPE_QUICK_F+EFFECT_TYPE_ACTIVATE)
tc:CreateEffectRelation(te)
local c=e:GetHandler()
local ev0=Duel.GetCurrentChain()+1
......@@ -258,7 +269,6 @@ function cm.rsop(e,tp,eg,ep,ev,re,r,rp)
local rc=re:GetHandler()
--re:SetType(EFFECT_TYPE_QUICK_F+EFFECT_TYPE_ACTIVATE)
if e:GetCode()==EVENT_CHAIN_SOLVING and rc:IsRelateToEffect(re) then
--rc:SetStatus(STATUS_EFFECT_ENABLED,true)
local _NegateActivation=Duel.NegateActivation
Duel.NegateActivation=aux.TRUE
local ev0=ev
......@@ -268,7 +278,7 @@ function cm.rsop(e,tp,eg,ep,ev,re,r,rp)
e1:SetCode(EVENT_CHAIN_SOLVED)
e1:SetCountLimit(1)
e1:SetCondition(function(e,tp,eg,ep,ev,re,r,rp) return ev==ev0 end)
e1:SetOperation(function(e,tp,eg,ep,ev,re,r,rp) Duel.NegateActivation=_NegateActivation end)
e1:SetOperation(function(e,tp,eg,ep,ev,re,r,rp) Duel.NegateActivation=_NegateActivation rc:SetStatus(STATUS_EFFECT_ENABLED,true) end)
e1:SetReset(RESET_CHAIN)
Duel.RegisterEffect(e1,tp)
end
......
......@@ -63,6 +63,7 @@ function c21692404.tddop(e,tp,eg,ep,ev,re,r,rp)
local sg=Duel.SelectMatchingCard(tp,function(c) return c:IsFaceup() and c:IsAbleToDeck() and c:IsSetCard(0x555) end,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,3,nil)
if Duel.SendtoDeck(sg,nil,2,REASON_EFFECT)~=0 then
Duel.BreakEffect()
Duel.ShuffleDeck(tp)
Duel.Draw(tp,1,REASON_EFFECT)
end
end
......
......@@ -58,7 +58,7 @@ function c9310055.target(e,tp,eg,ep,ev,re,r,rp,chk)
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EVENT_CHAIN_SOLVED)
e1:SetCountLimit(1)
e1:SetLabelObject(e)
e1:SetLabel(Duel.GetCurrentChain())
e1:SetCondition(c9310055.rscon)
e1:SetOperation(c9310055.rsop)
e1:SetReset(RESET_CHAIN)
......@@ -72,7 +72,7 @@ function c9310055.activate(e,tp,eg,ep,ev,re,r,rp)
end
end
function c9310055.rscon(e,tp,eg,ep,ev,re,r,rp)
return re==e:GetLabelObject()
return ev==e:GetLabel()
end
function c9310055.rsop(e,tp,eg,ep,ev,re,r,rp)
re:SetOperation(c9310055.activate)
......
......@@ -5,7 +5,6 @@ function c98920714.initial_effect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,98920714)
e1:SetCost(c98920714.cost)
e1:SetTarget(c98920714.target)
e1:SetOperation(c98920714.activate)
c:RegisterEffect(e1)
......
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