Commit bc807e5d authored by POLYMER's avatar POLYMER

fix

parent 689116cd
...@@ -73,7 +73,7 @@ function cm.filter(c,e) ...@@ -73,7 +73,7 @@ function cm.filter(c,e)
local b2,g2=Duel.CheckEvent(EVENT_SPSUMMON_SUCCESS,true) local b2,g2=Duel.CheckEvent(EVENT_SPSUMMON_SUCCESS,true)
return not c:IsPreviousLocation(LOCATION_ONFIELD) and (not b1 or not g1:IsContains(c)) and (not b2 or not g2:IsContains(c)) return not c:IsPreviousLocation(LOCATION_ONFIELD) and (not b1 or not g1:IsContains(c)) and (not b2 or not g2:IsContains(c))
end end
return not (e:GetCode()==EVENT_SUMMON_SUCCESS and c:GetFlagEffect(m)>0) return not (e:GetCode()==EVENT_SUMMON_SUCCESS and c:GetFlagEffect(m)>0) and not c:IsPreviousLocation(LOCATION_SZONE)
end end
function cm.descon(e,tp,eg,ep,ev,re,r,rp) function cm.descon(e,tp,eg,ep,ev,re,r,rp)
if cm.mv then cm.mv=nil return false end if cm.mv then cm.mv=nil return false end
...@@ -123,7 +123,7 @@ function cm.roll(min,max) ...@@ -123,7 +123,7 @@ function cm.roll(min,max)
return math.floor(cm.r*min)+1 return math.floor(cm.r*min)+1
else else
max=max-min+1 max=max-min+1
return math.floor(cm.r*max+min) return math.floor(cm.r*max)+min
end end
end end
return cm.r return cm.r
......
...@@ -24,7 +24,7 @@ function cm.initial_effect(c) ...@@ -24,7 +24,7 @@ function cm.initial_effect(c)
e4:SetCategory(CATEGORY_TODECK+CATEGORY_TOGRAVE) e4:SetCategory(CATEGORY_TODECK+CATEGORY_TOGRAVE)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e4:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_CARD_TARGET) e4:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_CARD_TARGET)
e4:SetCode(EVENT_MOVE) e4:SetCode(EVENT_CUSTOM+11451409)
e4:SetCountLimit(1,EFFECT_COUNT_CODE_CHAIN) e4:SetCountLimit(1,EFFECT_COUNT_CODE_CHAIN)
e4:SetRange(LOCATION_SZONE) e4:SetRange(LOCATION_SZONE)
e4:SetCondition(cm.con) e4:SetCondition(cm.con)
...@@ -37,7 +37,7 @@ function cm.initial_effect(c) ...@@ -37,7 +37,7 @@ function cm.initial_effect(c)
e6:SetRange(LOCATION_SZONE) e6:SetRange(LOCATION_SZONE)
e6:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e6:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e6:SetOperation(cm.merge) e6:SetOperation(cm.merge)
c:RegisterEffect(e6) --c:RegisterEffect(e6)
local e5=e4:Clone() local e5=e4:Clone()
e5:SetCode(11451409) e5:SetCode(11451409)
--e5:SetCondition(cm.con2) --e5:SetCondition(cm.con2)
...@@ -49,7 +49,7 @@ function cm.initial_effect(c) ...@@ -49,7 +49,7 @@ function cm.initial_effect(c)
e7:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e7:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e7:SetValue(1) e7:SetValue(1)
c:RegisterEffect(e7) c:RegisterEffect(e7)
if not PNFL_SP_ACTIVATE then --[[if not PNFL_SP_ACTIVATE then
PNFL_SP_ACTIVATE=true PNFL_SP_ACTIVATE=true
local _MoveToField=Duel.MoveToField local _MoveToField=Duel.MoveToField
function Duel.MoveToField(tc,...) function Duel.MoveToField(tc,...)
...@@ -70,9 +70,92 @@ function cm.initial_effect(c) ...@@ -70,9 +70,92 @@ function cm.initial_effect(c)
end end
return res return res
end end
end--]]
if not PNFL_TOFIELD_DELAY_CHECK then
PNFL_TOFIELD_DELAY_CHECK=true
local _Equip=Duel.Equip
Duel.Equip=function(p,c,...)
if not (c:IsControler(p) and c:IsLocation(LOCATION_SZONE)) then c:RegisterFlagEffect(11451409,RESET_CHAIN,0,1) c:RegisterFlagEffect(11451409,RESET_CHAIN,0,1) end
local res=_Equip(p,c,...)
return res
end
local _CRegisterEffect=Card.RegisterEffect
function Card.RegisterEffect(c,e,bool)
local res=_CRegisterEffect(c,e,bool)
if e:GetCode()==EFFECT_EQUIP_LIMIT and c:GetFlagEffect(11451409)>0 then
c:ResetFlagEffect(11451409)
cm.desop2(e,0,Group.FromCards(c),0,0,e,0,0)
end
return res
end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetCondition(cm.descon)
e1:SetOperation(cm.desop2)
Duel.RegisterEffect(e1,0)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
Duel.RegisterEffect(e2,0)
local e3=e1:Clone()
e3:SetCode(EVENT_MOVE)
Duel.RegisterEffect(e3,0)
local e4=e1:Clone()
e4:SetCode(EVENT_CHAINING)
e4:SetCondition(cm.descon3)
e4:SetOperation(cm.desop3)
Duel.RegisterEffect(e4,0)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_FIELD)
e5:SetCode(EFFECT_CANNOT_SUMMON)
e5:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e5:SetTargetRange(1,1)
e5:SetTarget(cm.costchk)
Duel.RegisterEffect(e5,0)
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e6:SetCode(EVENT_CHAIN_ACTIVATING)
e6:SetOperation(function() Duel.RegisterFlagEffect(0,11451409,RESET_CHAIN,0,1) end)
Duel.RegisterEffect(e6,0)
end end
end end
cm.traveler_saga=true cm.traveler_saga=true
function cm.costchk(e,c,tp,st)
if bit.band(st,SUMMON_TYPE_DUAL)~=SUMMON_TYPE_DUAL then return false end
if c:GetFlagEffect(11451409)==0 then c:RegisterFlagEffect(11451409,RESET_EVENT+RESETS_STANDARD,0,1) end
return false
end
function cm.filter12(c,e)
if not (c:IsOnField() and (c:IsFacedown() or c:IsStatus(STATUS_EFFECT_ENABLED))) or c:GetFlagEffect(11451409)>1 then return false end
if e:GetCode()==EVENT_MOVE then
local b1,g1=Duel.CheckEvent(EVENT_SUMMON_SUCCESS,true)
local b2,g2=Duel.CheckEvent(EVENT_SPSUMMON_SUCCESS,true)
return (not b1 or not g1:IsContains(c)) and (not b2 or not g2:IsContains(c)) and not c:IsPreviousLocation(LOCATION_ONFIELD)
end
return not (e:GetCode()==EVENT_SUMMON_SUCCESS and c:GetFlagEffect(11451409)>0) and not c:IsPreviousLocation(LOCATION_SZONE)
end
function cm.descon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.filter12,1,nil,e)
end
function cm.desop2(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetCurrentChain()>0 and Duel.GetFlagEffect(0,11451409)==0 then
cm.desop3(e,tp,eg,ep,ev,re,r,rp)
else
Duel.RaiseEvent(eg,EVENT_CUSTOM+11451409,re,r,rp,ep,ev)
end
end
function cm.descon3(e,tp,eg,ep,ev,re,r,rp)
return re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:GetHandler():GetFieldID()==re:GetHandler():GetRealFieldID()
end
function cm.desop3(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_CHAIN_ACTIVATING)
e1:SetCountLimit(1)
e1:SetOperation(function(e) Duel.RaiseEvent(eg,EVENT_CUSTOM+11451409,re,r,rp,ep,ev) end)
e1:SetReset(RESET_CHAIN)
Duel.RegisterEffect(e1,0)
end
function cm.merge(e,tp,eg,ep,ev,re,r,rp) function cm.merge(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=c:GetEquipTarget() local tc=c:GetEquipTarget()
......
...@@ -77,12 +77,12 @@ function cm.RegisterMergedEvent_ToSingleCard(c,code,event) ...@@ -77,12 +77,12 @@ function cm.RegisterMergedEvent_ToSingleCard(c,code,event)
g1:Clear() g1:Clear()
end end
end end
if Duel.GetCurrentChain()==0 and #g0>0 then if Duel.GetCurrentChain()==0 and #g0>0 and not g0:IsExists(function(c) return c:GetEquipCount()>0 or c:GetOverlayCount()>0 end,1,nil) then
local _eg=g0:Clone() local _eg=g0:Clone()
Duel.RaiseEvent(_eg,e:GetLabel(),re,r,0,ep,ev) Duel.RaiseEvent(_eg,e:GetLabel(),re,r,0,ep,ev)
g0:Clear() g0:Clear()
end end
if Duel.GetCurrentChain()==0 and #g1>0 then if Duel.GetCurrentChain()==0 and #g1>0 and not g1:IsExists(function(c) return c:GetEquipCount()>0 or c:GetOverlayCount()>0 end,1,nil) then
local _eg1=g1:Clone() local _eg1=g1:Clone()
Duel.RaiseEvent(_eg1,e:GetLabel(),re,r,1,ep,ev) Duel.RaiseEvent(_eg1,e:GetLabel(),re,r,1,ep,ev)
g1:Clear() g1:Clear()
......
...@@ -251,7 +251,7 @@ function cm.dissop(e,tp,eg,ep,ev,re,r,rp) ...@@ -251,7 +251,7 @@ function cm.dissop(e,tp,eg,ep,ev,re,r,rp)
e:Reset() e:Reset()
end end
function cm.chop(e,tp,eg,ep,ev,re,r,rp) function cm.chop(e,tp,eg,ep,ev,re,r,rp)
re:SetCategory(re:GetCategory()|CATEGORY_NEGATE) --re:SetCategory(re:GetCategory()|CATEGORY_NEGATE)
if re:GetLabel()&0x49421~=0 then re:SetLabel(re:GetLabel()+0x1) return end if re:GetLabel()&0x49421~=0 then re:SetLabel(re:GetLabel()+0x1) return end
re:SetLabel(re:GetLabel()+0x1) re:SetLabel(re:GetLabel()+0x1)
local op=re:GetOperation() local op=re:GetOperation()
......
...@@ -94,7 +94,7 @@ function cm.rscon(e,tp,eg,ep,ev,re,r,rp) ...@@ -94,7 +94,7 @@ function cm.rscon(e,tp,eg,ep,ev,re,r,rp)
end end
function cm.rsop(e,tp,eg,ep,ev,re,r,rp) function cm.rsop(e,tp,eg,ep,ev,re,r,rp)
re:SetOperation(cm.activate) re:SetOperation(cm.activate)
re:SetCategory(0) re:SetCategory(CATEGORY_TODECK)
re:SetLabel(0) re:SetLabel(0)
re:SetProperty(0) re:SetProperty(0)
end end
...@@ -266,7 +266,7 @@ function cm.dissop(e,tp,eg,ep,ev,re,r,rp) ...@@ -266,7 +266,7 @@ function cm.dissop(e,tp,eg,ep,ev,re,r,rp)
e:Reset() e:Reset()
end end
function cm.chop(e,tp,eg,ep,ev,re,r,rp) function cm.chop(e,tp,eg,ep,ev,re,r,rp)
re:SetCategory(re:GetCategory()|CATEGORY_TOHAND) --re:SetCategory(re:GetCategory()|CATEGORY_TOHAND)
if re:GetLabel()&0x49421~=0 then re:SetLabel(re:GetLabel()+0x8) return end if re:GetLabel()&0x49421~=0 then re:SetLabel(re:GetLabel()+0x8) return end
re:SetLabel(re:GetLabel()+0x8) re:SetLabel(re:GetLabel()+0x8)
local op=re:GetOperation() local op=re:GetOperation()
......
...@@ -285,7 +285,7 @@ function cm.dissop(e,tp,eg,ep,ev,re,r,rp) ...@@ -285,7 +285,7 @@ function cm.dissop(e,tp,eg,ep,ev,re,r,rp)
e:Reset() e:Reset()
end end
function cm.chop(e,tp,eg,ep,ev,re,r,rp) function cm.chop(e,tp,eg,ep,ev,re,r,rp)
re:SetCategory(re:GetCategory()|CATEGORY_REMOVE) --re:SetCategory(re:GetCategory()|CATEGORY_REMOVE)
if re:GetLabel()&0x49421~=0 then re:SetLabel(re:GetLabel()+0x40) return end if re:GetLabel()&0x49421~=0 then re:SetLabel(re:GetLabel()+0x40) return end
re:SetLabel(re:GetLabel()+0x40) re:SetLabel(re:GetLabel()+0x40)
local op=re:GetOperation() local op=re:GetOperation()
......
...@@ -3,7 +3,7 @@ local cm,m=GetID() ...@@ -3,7 +3,7 @@ local cm,m=GetID()
function cm.initial_effect(c) function cm.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_LEAVE_GRAVE) e1:SetCategory(CATEGORY_GRAVE_ACTION)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_CHAINING) e1:SetCode(EVENT_CHAINING)
e1:SetCondition(cm.condition) e1:SetCondition(cm.condition)
...@@ -81,7 +81,7 @@ function cm.rscon(e,tp,eg,ep,ev,re,r,rp) ...@@ -81,7 +81,7 @@ function cm.rscon(e,tp,eg,ep,ev,re,r,rp)
end end
function cm.rsop(e,tp,eg,ep,ev,re,r,rp) function cm.rsop(e,tp,eg,ep,ev,re,r,rp)
re:SetOperation(cm.activate) re:SetOperation(cm.activate)
re:SetCategory(CATEGORY_LEAVE_GRAVE) re:SetCategory(CATEGORY_GRAVE_ACTION)
re:SetLabel(0) re:SetLabel(0)
end end
function cm.chcon(e,tp,eg,ep,ev,re,r,rp) function cm.chcon(e,tp,eg,ep,ev,re,r,rp)
...@@ -252,7 +252,7 @@ function cm.dissop(e,tp,eg,ep,ev,re,r,rp) ...@@ -252,7 +252,7 @@ function cm.dissop(e,tp,eg,ep,ev,re,r,rp)
e:Reset() e:Reset()
end end
function cm.chop(e,tp,eg,ep,ev,re,r,rp) function cm.chop(e,tp,eg,ep,ev,re,r,rp)
re:SetCategory(re:GetCategory()|CATEGORY_DAMAGE) --re:SetCategory(re:GetCategory()|CATEGORY_DAMAGE)
if re:GetLabel()&0x49421~=0 then re:SetLabel(re:GetLabel()+0x200) return end if re:GetLabel()&0x49421~=0 then re:SetLabel(re:GetLabel()+0x200) return end
re:SetLabel(re:GetLabel()+0x200) re:SetLabel(re:GetLabel()+0x200)
local op=re:GetOperation() local op=re:GetOperation()
......
...@@ -283,7 +283,7 @@ function cm.dissop(e,tp,eg,ep,ev,re,r,rp) ...@@ -283,7 +283,7 @@ function cm.dissop(e,tp,eg,ep,ev,re,r,rp)
e:Reset() e:Reset()
end end
function cm.chop(e,tp,eg,ep,ev,re,r,rp) function cm.chop(e,tp,eg,ep,ev,re,r,rp)
re:SetCategory(re:GetCategory()|CATEGORY_DRAW) --re:SetCategory(re:GetCategory()|CATEGORY_DRAW)
if re:GetLabel()&0x49421~=0 then re:SetLabel(re:GetLabel()+0x1000) return end if re:GetLabel()&0x49421~=0 then re:SetLabel(re:GetLabel()+0x1000) return end
re:SetLabel(re:GetLabel()+0x1000) re:SetLabel(re:GetLabel()+0x1000)
local op=re:GetOperation() local op=re:GetOperation()
......
...@@ -363,7 +363,7 @@ function cm.dissop(e,tp,eg,ep,ev,re,r,rp) ...@@ -363,7 +363,7 @@ function cm.dissop(e,tp,eg,ep,ev,re,r,rp)
e:Reset() e:Reset()
end end
function cm.chop(e,tp,eg,ep,ev,re,r,rp) function cm.chop(e,tp,eg,ep,ev,re,r,rp)
re:SetCategory(re:GetCategory()|CATEGORY_HANDES) --re:SetCategory(re:GetCategory()|CATEGORY_HANDES)
if re:GetLabel()&0x49421~=0 then re:SetLabel(re:GetLabel()+0x8000) return end if re:GetLabel()&0x49421~=0 then re:SetLabel(re:GetLabel()+0x8000) return end
re:SetLabel(re:GetLabel()+0x8000) re:SetLabel(re:GetLabel()+0x8000)
local op=re:GetOperation() local op=re:GetOperation()
......
...@@ -71,7 +71,7 @@ function cm.filter12(c,e) ...@@ -71,7 +71,7 @@ function cm.filter12(c,e)
local b2,g2=Duel.CheckEvent(EVENT_SPSUMMON_SUCCESS,true) local b2,g2=Duel.CheckEvent(EVENT_SPSUMMON_SUCCESS,true)
return (not b1 or not g1:IsContains(c)) and (not b2 or not g2:IsContains(c)) return (not b1 or not g1:IsContains(c)) and (not b2 or not g2:IsContains(c))
end end
return not (e:GetCode()==EVENT_SUMMON_SUCCESS and c:GetFlagEffect(11451566)>0) return not (e:GetCode()==EVENT_SUMMON_SUCCESS and c:GetFlagEffect(11451566)>0) and not c:IsPreviousLocation(LOCATION_SZONE)
end end
function cm.decon(e,tp,eg,ep,ev,re,r,rp) function cm.decon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.filter12,1,nil,e) return eg:IsExists(cm.filter12,1,nil,e)
......
...@@ -49,7 +49,7 @@ function cm.reop(e,tp,eg,ep,ev,re,r,rp) ...@@ -49,7 +49,7 @@ function cm.reop(e,tp,eg,ep,ev,re,r,rp)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_MOVE) e2:SetCode(EVENT_MOVE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_DELAY) e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetCondition(cm.mvcon) e2:SetCondition(cm.mvcon)
e2:SetOperation(cm.mvop1) e2:SetOperation(cm.mvop1)
e2:SetReset(RESET_EVENT+RESETS_STANDARD) e2:SetReset(RESET_EVENT+RESETS_STANDARD)
......
...@@ -50,7 +50,7 @@ function cm.reop(e,tp,eg,ep,ev,re,r,rp) ...@@ -50,7 +50,7 @@ function cm.reop(e,tp,eg,ep,ev,re,r,rp)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_MOVE) e2:SetCode(EVENT_MOVE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_DELAY) e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetCondition(cm.mvcon) e2:SetCondition(cm.mvcon)
e2:SetOperation(cm.mvop1) e2:SetOperation(cm.mvop1)
e2:SetReset(RESET_EVENT+RESETS_STANDARD) e2:SetReset(RESET_EVENT+RESETS_STANDARD)
......
...@@ -48,7 +48,7 @@ function cm.reop(e,tp,eg,ep,ev,re,r,rp) ...@@ -48,7 +48,7 @@ function cm.reop(e,tp,eg,ep,ev,re,r,rp)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_MOVE) e2:SetCode(EVENT_MOVE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_DELAY) e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetCondition(cm.mvcon) e2:SetCondition(cm.mvcon)
e2:SetOperation(cm.mvop1) e2:SetOperation(cm.mvop1)
e2:SetReset(RESET_EVENT+RESETS_STANDARD) e2:SetReset(RESET_EVENT+RESETS_STANDARD)
......
...@@ -50,7 +50,7 @@ function cm.reop(e,tp,eg,ep,ev,re,r,rp) ...@@ -50,7 +50,7 @@ function cm.reop(e,tp,eg,ep,ev,re,r,rp)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_MOVE) e2:SetCode(EVENT_MOVE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_DELAY) e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetCondition(cm.mvcon) e2:SetCondition(cm.mvcon)
e2:SetOperation(cm.mvop1) e2:SetOperation(cm.mvop1)
e2:SetReset(RESET_EVENT+RESETS_STANDARD) e2:SetReset(RESET_EVENT+RESETS_STANDARD)
......
...@@ -50,7 +50,7 @@ function cm.reop(e,tp,eg,ep,ev,re,r,rp) ...@@ -50,7 +50,7 @@ function cm.reop(e,tp,eg,ep,ev,re,r,rp)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_MOVE) e2:SetCode(EVENT_MOVE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_DELAY) e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetCondition(cm.mvcon) e2:SetCondition(cm.mvcon)
e2:SetOperation(cm.mvop1) e2:SetOperation(cm.mvop1)
e2:SetReset(RESET_EVENT+RESETS_STANDARD) e2:SetReset(RESET_EVENT+RESETS_STANDARD)
......
...@@ -62,7 +62,7 @@ function cm.reop(e,tp,eg,ep,ev,re,r,rp) ...@@ -62,7 +62,7 @@ function cm.reop(e,tp,eg,ep,ev,re,r,rp)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_MOVE) e2:SetCode(EVENT_MOVE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_DELAY) e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetCondition(cm.mvcon) e2:SetCondition(cm.mvcon)
e2:SetOperation(cm.mvop1) e2:SetOperation(cm.mvop1)
e2:SetReset(RESET_EVENT+RESETS_STANDARD) e2:SetReset(RESET_EVENT+RESETS_STANDARD)
......
...@@ -84,7 +84,7 @@ function cm.filter12(c,e) ...@@ -84,7 +84,7 @@ function cm.filter12(c,e)
local b2,g2=Duel.CheckEvent(EVENT_SPSUMMON_SUCCESS,true) local b2,g2=Duel.CheckEvent(EVENT_SPSUMMON_SUCCESS,true)
return (not b1 or not g1:IsContains(c)) and (not b2 or not g2:IsContains(c)) --and not c:IsPreviousLocation(LOCATION_ONFIELD) return (not b1 or not g1:IsContains(c)) and (not b2 or not g2:IsContains(c)) --and not c:IsPreviousLocation(LOCATION_ONFIELD)
end end
return not (e:GetCode()==EVENT_SUMMON_SUCCESS and c:GetFlagEffect(11451848)>0) return not (e:GetCode()==EVENT_SUMMON_SUCCESS and c:GetFlagEffect(11451848)>0) and not c:IsPreviousLocation(LOCATION_SZONE)
end end
function cm.descon(e,tp,eg,ep,ev,re,r,rp) function cm.descon(e,tp,eg,ep,ev,re,r,rp)
if 1==0 and eg:GetFirst():IsCode(m-3) and e:GetCode()==EVENT_MOVE then if 1==0 and eg:GetFirst():IsCode(m-3) and e:GetCode()==EVENT_MOVE then
......
...@@ -117,7 +117,7 @@ function cm.RegisterMergedDelayedEvent_ToSingleCard(c,code,events) ...@@ -117,7 +117,7 @@ function cm.RegisterMergedDelayedEvent_ToSingleCard(c,code,events)
g2:Clear() g2:Clear()
end end
end end
if Duel.GetCurrentChain()==0 and not Duel.CheckEvent(EVENT_CHAIN_END) and not g:IsExists(Card.IsStatus,1,nil,STATUS_ACT_FROM_HAND) then if Duel.GetCurrentChain()==0 and not Duel.CheckEvent(EVENT_CHAIN_END) and not g:IsExists(Card.IsStatus,1,nil,STATUS_ACT_FROM_HAND) and not g2:IsExists(function(c) return c:GetEquipCount()>0 or c:GetOverlayCount()>0 end,1,nil) then
local _eg=g:Clone() local _eg=g:Clone()
local _eg2=g2:Clone() local _eg2=g2:Clone()
if #g>0 and #g2>0 then if #g>0 and #g2>0 then
......
...@@ -45,14 +45,14 @@ function cm.initial_effect(c) ...@@ -45,14 +45,14 @@ function cm.initial_effect(c)
ge2:SetOperation(cm.chkop2) ge2:SetOperation(cm.chkop2)
Duel.RegisterEffect(ge2,0) Duel.RegisterEffect(ge2,0)
local _Overlay=Duel.Overlay local _Overlay=Duel.Overlay
function Duel.Overlay(xc,v,...) function Duel.Overlay(xc,v,...)
local t=Auxiliary.GetValueType(v) local t=Auxiliary.GetValueType(v)
local g=Group.CreateGroup() local g=Group.CreateGroup()
if t=="Card" then g:AddCard(v) else g=v end if t=="Card" then g:AddCard(v) else g=v end
local res=_Overlay(xc,v,...) local res=_Overlay(xc,v,...)
Duel.RaiseEvent(g,EVENT_CUSTOM+m+1,e1,0,0,0,0) Duel.RaiseEvent(g,EVENT_CUSTOM+m+1,e1,0,0,0,0)
return res return res
end end
end end
if not cm.global_check2 then if not cm.global_check2 then
cm.global_check2=true cm.global_check2=true
...@@ -109,7 +109,7 @@ function cm.filter12(c,e) ...@@ -109,7 +109,7 @@ function cm.filter12(c,e)
local b2,g2=Duel.CheckEvent(EVENT_SPSUMMON_SUCCESS,true) local b2,g2=Duel.CheckEvent(EVENT_SPSUMMON_SUCCESS,true)
return not c:IsPreviousLocation(LOCATION_ONFIELD) and (not b1 or not g1:IsContains(c)) and (not b2 or not g2:IsContains(c)) return not c:IsPreviousLocation(LOCATION_ONFIELD) and (not b1 or not g1:IsContains(c)) and (not b2 or not g2:IsContains(c))
end end
return not (e:GetCode()==EVENT_SUMMON_SUCCESS and c:GetFlagEffect(m-4)>0) return not (e:GetCode()==EVENT_SUMMON_SUCCESS and c:GetFlagEffect(m-4)>0) and not c:IsPreviousLocation(LOCATION_SZONE)
end end
function cm.descon(e,tp,eg,ep,ev,re,r,rp) function cm.descon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.filter12,1,nil,e) return eg:IsExists(cm.filter12,1,nil,e)
......
...@@ -134,7 +134,7 @@ function cm.MergedDelayEventCheck1_ToSingleCard(e,tp,eg,ep,ev,re,r,rp) ...@@ -134,7 +134,7 @@ function cm.MergedDelayEventCheck1_ToSingleCard(e,tp,eg,ep,ev,re,r,rp)
local g=e:GetLabelObject() local g=e:GetLabelObject()
local c=e:GetOwner() local c=e:GetOwner()
g:Merge(eg) g:Merge(eg)
if Duel.GetCurrentChain()==0 and #g>0 then if Duel.GetCurrentChain()==0 and #g>0 and not g:IsExists(function(c) return c:GetEquipCount()>0 or c:GetOverlayCount()>0 end,1,nil) then
local _eg=g:Clone() local _eg=g:Clone()
if g:IsContains(c) and (c:IsFaceup() or c:IsPreviousPosition(POS_FACEUP)) then if g:IsContains(c) and (c:IsFaceup() or c:IsPreviousPosition(POS_FACEUP)) then
if e:GetValue()==EVENT_MOVE then if e:GetValue()==EVENT_MOVE then
......
...@@ -70,9 +70,14 @@ function s.actcon(e) ...@@ -70,9 +70,14 @@ function s.actcon(e)
end end
function s.condition(e,tp,eg,ep,ev,re,r,rp) function s.condition(e,tp,eg,ep,ev,re,r,rp)
local loc,seq=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION,CHAININFO_TRIGGERING_SEQUENCE) local loc,seq=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION,CHAININFO_TRIGGERING_SEQUENCE)
seq=aux.MZoneSequence(seq) if loc==LOCATION_MZONE then
local cseq=aux.SZoneSequence(e:GetHandler():GetSequence()) seq=aux.MZoneSequence(seq)
if not bit.band(loc,LOCATION_ONFIELD)==loc then return false end elseif loc==LOCATION_SZONE then
seq=aux.SZoneSequence(seq)
else
return false
end
local cseq=aux.MZoneSequence(e:GetHandler():GetSequence())
if e:GetHandlerPlayer()==re:GetHandlerPlayer() then return seq==cseq end if e:GetHandlerPlayer()==re:GetHandlerPlayer() then return seq==cseq end
return seq==4-cseq return seq==4-cseq
end end
......
...@@ -70,9 +70,14 @@ function s.actcon(e) ...@@ -70,9 +70,14 @@ function s.actcon(e)
end end
function s.condition(e,tp,eg,ep,ev,re,r,rp) function s.condition(e,tp,eg,ep,ev,re,r,rp)
local loc,seq=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION,CHAININFO_TRIGGERING_SEQUENCE) local loc,seq=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION,CHAININFO_TRIGGERING_SEQUENCE)
seq=aux.MZoneSequence(seq) if loc==LOCATION_MZONE then
local cseq=aux.SZoneSequence(e:GetHandler():GetSequence()) seq=aux.MZoneSequence(seq)
if not bit.band(loc,LOCATION_ONFIELD)==loc then return false end elseif loc==LOCATION_SZONE then
seq=aux.SZoneSequence(seq)
else
return false
end
local cseq=aux.MZoneSequence(e:GetHandler():GetSequence())
if e:GetHandlerPlayer()==re:GetHandlerPlayer() then return seq==cseq end if e:GetHandlerPlayer()==re:GetHandlerPlayer() then return seq==cseq end
return seq==4-cseq return seq==4-cseq
end end
......
...@@ -69,9 +69,14 @@ function s.actcon(e) ...@@ -69,9 +69,14 @@ function s.actcon(e)
end end
function s.condition(e,tp,eg,ep,ev,re,r,rp) function s.condition(e,tp,eg,ep,ev,re,r,rp)
local loc,seq=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION,CHAININFO_TRIGGERING_SEQUENCE) local loc,seq=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION,CHAININFO_TRIGGERING_SEQUENCE)
seq=aux.MZoneSequence(seq) if loc==LOCATION_MZONE then
local cseq=aux.SZoneSequence(e:GetHandler():GetSequence()) seq=aux.MZoneSequence(seq)
if not bit.band(loc,LOCATION_ONFIELD)==loc then return false end elseif loc==LOCATION_SZONE then
seq=aux.SZoneSequence(seq)
else
return false
end
local cseq=aux.MZoneSequence(e:GetHandler():GetSequence())
if e:GetHandlerPlayer()==re:GetHandlerPlayer() then return seq==cseq end if e:GetHandlerPlayer()==re:GetHandlerPlayer() then return seq==cseq end
return seq==4-cseq return seq==4-cseq
end end
......
...@@ -69,9 +69,14 @@ function s.actcon(e) ...@@ -69,9 +69,14 @@ function s.actcon(e)
end end
function s.condition(e,tp,eg,ep,ev,re,r,rp) function s.condition(e,tp,eg,ep,ev,re,r,rp)
local loc,seq=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION,CHAININFO_TRIGGERING_SEQUENCE) local loc,seq=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION,CHAININFO_TRIGGERING_SEQUENCE)
seq=aux.MZoneSequence(seq) if loc==LOCATION_MZONE then
local cseq=aux.SZoneSequence(e:GetHandler():GetSequence()) seq=aux.MZoneSequence(seq)
if not bit.band(loc,LOCATION_ONFIELD)==loc then return false end elseif loc==LOCATION_SZONE then
seq=aux.SZoneSequence(seq)
else
return false
end
local cseq=aux.MZoneSequence(e:GetHandler():GetSequence())
if e:GetHandlerPlayer()==re:GetHandlerPlayer() then return seq==cseq end if e:GetHandlerPlayer()==re:GetHandlerPlayer() then return seq==cseq end
return seq==4-cseq return seq==4-cseq
end end
......
...@@ -36,6 +36,7 @@ function cm.initial_effect(c) ...@@ -36,6 +36,7 @@ function cm.initial_effect(c)
e23:SetProperty(EFFECT_FLAG_DELAY) e23:SetProperty(EFFECT_FLAG_DELAY)
e23:SetCode(EVENT_SPSUMMON_SUCCESS) e23:SetCode(EVENT_SPSUMMON_SUCCESS)
e23:SetRange(LOCATION_MZONE) e23:SetRange(LOCATION_MZONE)
e23:SetCondition(c91300032.spccon)
e23:SetOperation(c91300032.spcop) e23:SetOperation(c91300032.spcop)
c:RegisterEffect(e23) c:RegisterEffect(e23)
local e24=Effect.CreateEffect(c) local e24=Effect.CreateEffect(c)
...@@ -192,10 +193,10 @@ function c91300032.speop(e,tp,eg,ep,ev,re,r,rp) ...@@ -192,10 +193,10 @@ function c91300032.speop(e,tp,eg,ep,ev,re,r,rp)
if rc and Duel.SendtoDeck(rc,nil,SEQ_DECKTOP,REASON_EFFECT) and rc:IsLocation(0x41) then if rc and Duel.SendtoDeck(rc,nil,SEQ_DECKTOP,REASON_EFFECT) and rc:IsLocation(0x41) then
local og=Duel.GetOperatedGroup() local og=Duel.GetOperatedGroup()
local tc=og:GetFirst() local tc=og:GetFirst()
if tc and tc:IsCode(91300025) then if tc and (tc:IsCode(91300025) or tc:IsCode(91300032) or tc:IsCode(91300033) or tc:IsCode(91300034)) then
c:RegisterFlagEffect(91301025,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,1,aux.Stringid(91300032,3)) c:RegisterFlagEffect(91301025,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,1,aux.Stringid(91300032,3))
end end
if tc and tc:IsCode(91300032) then --[[if tc and tc:IsCode(91300032) then
c:RegisterFlagEffect(91301032,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,1,aux.Stringid(91300032,4)) c:RegisterFlagEffect(91301032,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,1,aux.Stringid(91300032,4))
end end
if tc and tc:IsCode(91300033) then if tc and tc:IsCode(91300033) then
...@@ -203,7 +204,7 @@ function c91300032.speop(e,tp,eg,ep,ev,re,r,rp) ...@@ -203,7 +204,7 @@ function c91300032.speop(e,tp,eg,ep,ev,re,r,rp)
end end
if tc and tc:IsCode(91300034) then if tc and tc:IsCode(91300034) then
c:RegisterFlagEffect(91301034,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,1,aux.Stringid(91300032,6)) c:RegisterFlagEffect(91301034,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,1,aux.Stringid(91300032,6))
end end]]
end end
end end
end end
...@@ -229,6 +230,9 @@ function c91300032.flfcop(e,tp,eg,ep,ev,re,r,rp) ...@@ -229,6 +230,9 @@ function c91300032.flfcop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
end end
function c91300032.spccon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(Card.IsSummonPlayer,1,nil,1-tp)
end
function c91300032.spcop(e,tp,eg,ep,ev,re,r,rp) function c91300032.spcop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=eg:GetFirst() local tc=eg:GetFirst()
...@@ -253,7 +257,7 @@ function c91300032.rmhconfz(e,tp,eg,ep,ev,re,r,rp) ...@@ -253,7 +257,7 @@ function c91300032.rmhconfz(e,tp,eg,ep,ev,re,r,rp)
end end
function c91300032.toexcost(e,tp,eg,ep,ev,re,r,rp,chk) function c91300032.toexcost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return c:IsAbleToExtraAsCost() and c:GetFlagEffect(25824) and c:GetFlagEffect(25824)<5 end if chk==0 then return c:IsAbleToExtraAsCost() and c:GetFlagEffectLabel(25824) and c:GetFlagEffectLabel(25824)<5 end
Duel.SendtoDeck(c,nil,SEQ_DECKTOP,REASON_COST) Duel.SendtoDeck(c,nil,SEQ_DECKTOP,REASON_COST)
end end
function c91300032.rmhtg(e,tp,eg,ep,ev,re,r,rp,chk) function c91300032.rmhtg(e,tp,eg,ep,ev,re,r,rp,chk)
......
...@@ -193,10 +193,10 @@ function c91300033.speop(e,tp,eg,ep,ev,re,r,rp) ...@@ -193,10 +193,10 @@ function c91300033.speop(e,tp,eg,ep,ev,re,r,rp)
if rc and Duel.SendtoDeck(rc,nil,SEQ_DECKTOP,REASON_EFFECT) and rc:IsLocation(0x41) then if rc and Duel.SendtoDeck(rc,nil,SEQ_DECKTOP,REASON_EFFECT) and rc:IsLocation(0x41) then
local og=Duel.GetOperatedGroup() local og=Duel.GetOperatedGroup()
local tc=og:GetFirst() local tc=og:GetFirst()
if tc and tc:IsCode(91300025) then if tc and (tc:IsCode(91300025) or tc:IsCode(91300032) or tc:IsCode(91300033) or tc:IsCode(91300034)) then
c:RegisterFlagEffect(91301025,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,1,aux.Stringid(91300032,3)) c:RegisterFlagEffect(91301025,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,1,aux.Stringid(91300032,3))
end end
if tc and tc:IsCode(91300032) then --[[if tc and tc:IsCode(91300032) then
c:RegisterFlagEffect(91301032,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,1,aux.Stringid(91300032,4)) c:RegisterFlagEffect(91301032,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,1,aux.Stringid(91300032,4))
end end
if tc and tc:IsCode(91300033) then if tc and tc:IsCode(91300033) then
...@@ -204,7 +204,7 @@ function c91300033.speop(e,tp,eg,ep,ev,re,r,rp) ...@@ -204,7 +204,7 @@ function c91300033.speop(e,tp,eg,ep,ev,re,r,rp)
end end
if tc and tc:IsCode(91300034) then if tc and tc:IsCode(91300034) then
c:RegisterFlagEffect(91301034,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,1,aux.Stringid(91300032,6)) c:RegisterFlagEffect(91301034,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,1,aux.Stringid(91300032,6))
end end]]
end end
end end
end end
...@@ -254,7 +254,7 @@ function c91300033.rmhconfz(e,tp,eg,ep,ev,re,r,rp) ...@@ -254,7 +254,7 @@ function c91300033.rmhconfz(e,tp,eg,ep,ev,re,r,rp)
end end
function c91300033.toexcost(e,tp,eg,ep,ev,re,r,rp,chk) function c91300033.toexcost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return c:IsAbleToExtraAsCost() and c:GetFlagEffect(25824) and c:GetFlagEffect(25824)<5 end if chk==0 then return c:IsAbleToExtraAsCost() and c:GetFlagEffectLabel(25824) and c:GetFlagEffectLabel(25824)<5 end
Duel.SendtoDeck(c,nil,SEQ_DECKTOP,REASON_COST) Duel.SendtoDeck(c,nil,SEQ_DECKTOP,REASON_COST)
end end
function c91300033.rmhtg(e,tp,eg,ep,ev,re,r,rp,chk) function c91300033.rmhtg(e,tp,eg,ep,ev,re,r,rp,chk)
...@@ -365,7 +365,7 @@ function c91300033.jkfcop(e,tp,eg,ep,ev,re,r,rp) ...@@ -365,7 +365,7 @@ function c91300033.jkfcop(e,tp,eg,ep,ev,re,r,rp)
end end
function c91300033.fdcop(e,tp,eg,ep,ev,re,r,rp) function c91300033.fdcop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if re:IsActiveType(TYPE_MONSTER) then if re:IsActiveType(TYPE_MONSTER) and c:GetOwner()==1-tp then
local flag=c:GetFlagEffectLabel(91300033) local flag=c:GetFlagEffectLabel(91300033)
if flag then if flag then
c:SetFlagEffectLabel(91300033,flag+1) c:SetFlagEffectLabel(91300033,flag+1)
......
...@@ -158,8 +158,9 @@ function cm.initial_effect(c) ...@@ -158,8 +158,9 @@ function cm.initial_effect(c)
local e72=Effect.CreateEffect(c) local e72=Effect.CreateEffect(c)
e72:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e72:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e72:SetProperty(EFFECT_FLAG_DELAY) e72:SetProperty(EFFECT_FLAG_DELAY)
e72:SetCode(EVENT_CHAINING) e72:SetCode(EVENT_TO_HAND)
e72:SetRange(LOCATION_MZONE) e72:SetRange(LOCATION_MZONE)
e72:SetCondition(c91300034.thcon)
e72:SetOperation(c91300034.thcop) e72:SetOperation(c91300034.thcop)
c:RegisterEffect(e72) c:RegisterEffect(e72)
local e73=Effect.CreateEffect(c) local e73=Effect.CreateEffect(c)
...@@ -194,10 +195,10 @@ function c91300034.speop(e,tp,eg,ep,ev,re,r,rp) ...@@ -194,10 +195,10 @@ function c91300034.speop(e,tp,eg,ep,ev,re,r,rp)
if rc and Duel.SendtoDeck(rc,nil,SEQ_DECKTOP,REASON_EFFECT) and rc:IsLocation(0x41) then if rc and Duel.SendtoDeck(rc,nil,SEQ_DECKTOP,REASON_EFFECT) and rc:IsLocation(0x41) then
local og=Duel.GetOperatedGroup() local og=Duel.GetOperatedGroup()
local tc=og:GetFirst() local tc=og:GetFirst()
if tc and tc:IsCode(91300025) then if tc and (tc:IsCode(91300025) or tc:IsCode(91300032) or tc:IsCode(91300033) or tc:IsCode(91300034)) then
c:RegisterFlagEffect(91301025,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,1,aux.Stringid(91300032,3)) c:RegisterFlagEffect(91301025,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,1,aux.Stringid(91300032,3))
end end
if tc and tc:IsCode(91300032) then --[[if tc and tc:IsCode(91300032) then
c:RegisterFlagEffect(91301032,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,1,aux.Stringid(91300032,4)) c:RegisterFlagEffect(91301032,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,1,aux.Stringid(91300032,4))
end end
if tc and tc:IsCode(91300033) then if tc and tc:IsCode(91300033) then
...@@ -205,7 +206,7 @@ function c91300034.speop(e,tp,eg,ep,ev,re,r,rp) ...@@ -205,7 +206,7 @@ function c91300034.speop(e,tp,eg,ep,ev,re,r,rp)
end end
if tc and tc:IsCode(91300034) then if tc and tc:IsCode(91300034) then
c:RegisterFlagEffect(91301034,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,1,aux.Stringid(91300032,6)) c:RegisterFlagEffect(91301034,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,1,aux.Stringid(91300032,6))
end end]]
end end
end end
end end
...@@ -255,7 +256,7 @@ function c91300034.rmhconfz(e,tp,eg,ep,ev,re,r,rp) ...@@ -255,7 +256,7 @@ function c91300034.rmhconfz(e,tp,eg,ep,ev,re,r,rp)
end end
function c91300034.toexcost(e,tp,eg,ep,ev,re,r,rp,chk) function c91300034.toexcost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return c:IsAbleToExtraAsCost() and c:GetFlagEffect(25824) and c:GetFlagEffect(25824)<5 end if chk==0 then return c:IsAbleToExtraAsCost() and c:GetFlagEffectLabel(25824) and c:GetFlagEffectLabel(25824)<5 end
Duel.SendtoDeck(c,nil,SEQ_DECKTOP,REASON_COST) Duel.SendtoDeck(c,nil,SEQ_DECKTOP,REASON_COST)
end end
function c91300034.rmhtg(e,tp,eg,ep,ev,re,r,rp,chk) function c91300034.rmhtg(e,tp,eg,ep,ev,re,r,rp,chk)
...@@ -421,6 +422,9 @@ function c91300034.hdlfcop(e,tp,eg,ep,ev,re,r,rp) ...@@ -421,6 +422,9 @@ function c91300034.hdlfcop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
end end
function c91300034.thcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(Card.IsControler,1,nil,1-tp)
end
function c91300034.thcop(e,tp,eg,ep,ev,re,r,rp) function c91300034.thcop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local flag=c:GetFlagEffectLabel(91300034) local flag=c:GetFlagEffectLabel(91300034)
......
...@@ -3,7 +3,7 @@ function c9310055.initial_effect(c) ...@@ -3,7 +3,7 @@ function c9310055.initial_effect(c)
aux.AddCodeList(c,9310055) aux.AddCodeList(c,9310055)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_NEGATE+CATEGORY_DESTROY) e1:SetCategory(CATEGORY_TOHAND+CATEGORY_NEGATE)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_CHAINING) e1:SetCode(EVENT_CHAINING)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL) e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
...@@ -77,7 +77,7 @@ function c9310055.rscon(e,tp,eg,ep,ev,re,r,rp) ...@@ -77,7 +77,7 @@ function c9310055.rscon(e,tp,eg,ep,ev,re,r,rp)
end end
function c9310055.rsop(e,tp,eg,ep,ev,re,r,rp) function c9310055.rsop(e,tp,eg,ep,ev,re,r,rp)
re:SetOperation(c9310055.activate) re:SetOperation(c9310055.activate)
re:SetCategory(CATEGORY_TOHAND+CATEGORY_NEGATE+CATEGORY_DESTROY) re:SetCategory(CATEGORY_TOHAND+CATEGORY_NEGATE)
re:SetLabel(0) re:SetLabel(0)
end end
function c9310055.chcon(e,tp,eg,ep,ev,re,r,rp) function c9310055.chcon(e,tp,eg,ep,ev,re,r,rp)
...@@ -248,7 +248,7 @@ function c9310055.dissop(e,tp,eg,ep,ev,re,r,rp) ...@@ -248,7 +248,7 @@ function c9310055.dissop(e,tp,eg,ep,ev,re,r,rp)
e:Reset() e:Reset()
end end
function c9310055.chop(e,tp,eg,ep,ev,re,r,rp) function c9310055.chop(e,tp,eg,ep,ev,re,r,rp)
re:SetCategory(re:GetCategory()|CATEGORY_TODECK|CATEGORY_LEAVE_GRAVE) --re:SetCategory(re:GetCategory()|CATEGORY_TODECK|CATEGORY_GRAVE_ACTION)
if re:GetLabel()&0x49421~=0 then re:SetLabel(re:GetLabel()+0x40000) return end if re:GetLabel()&0x49421~=0 then re:SetLabel(re:GetLabel()+0x40000) return end
re:SetLabel(re:GetLabel()+0x40000) re:SetLabel(re:GetLabel()+0x40000)
local op=re:GetOperation() local op=re:GetOperation()
......
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