Commit 85aaaf7b authored by nanahira's avatar nanahira

Merge branch 'master' of github.com:Fluorohydride/ygopro-scripts

parents a7712e48 4f3591dd
...@@ -38,6 +38,7 @@ end ...@@ -38,6 +38,7 @@ end
function c10678778.rmop(e,tp,eg,ep,ev,re,r,rp) function c10678778.rmop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c10678778.rmfilter,tp,0,LOCATION_EXTRA,nil) local g=Duel.GetMatchingGroup(c10678778.rmfilter,tp,0,LOCATION_EXTRA,nil)
if g:GetCount()==0 then return end if g:GetCount()==0 then return end
Duel.ShuffleExtra(1-tp)
local tc=g:RandomSelect(tp,1):GetFirst() local tc=g:RandomSelect(tp,1):GetFirst()
Duel.Remove(tc,POS_FACEUP,REASON_EFFECT) Duel.Remove(tc,POS_FACEUP,REASON_EFFECT)
local atk=tc:GetAttack() local atk=tc:GetAttack()
......
...@@ -11,6 +11,7 @@ end ...@@ -11,6 +11,7 @@ end
function c21088856.operation(e,tp,eg,ep,ev,re,r,rp) function c21088856.operation(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetFieldGroup(1-tp,LOCATION_EXTRA,0) local g=Duel.GetFieldGroup(1-tp,LOCATION_EXTRA,0)
if g:GetCount()==0 then return end if g:GetCount()==0 then return end
Duel.ShuffleExtra(1-tp)
local tc=g:RandomSelect(tp,1):GetFirst() local tc=g:RandomSelect(tp,1):GetFirst()
Duel.ConfirmCards(tp,tc) Duel.ConfirmCards(tp,tc)
local atk=tc:GetAttack() local atk=tc:GetAttack()
......
...@@ -12,11 +12,19 @@ function c2645637.initial_effect(c) ...@@ -12,11 +12,19 @@ function c2645637.initial_effect(c)
e1:SetOperation(c2645637.disop) e1:SetOperation(c2645637.disop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--atk --atk
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e0:SetCode(EVENT_CHAINING)
e0:SetRange(LOCATION_MZONE)
e0:SetCondition(c2645637.atkcon3)
e0:SetOperation(aux.chainreg)
c:RegisterEffect(e0)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(2645637,0)) e2:SetDescription(aux.Stringid(2645637,0))
e2:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_DISABLE) e2:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_DISABLE)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_CHAINING) e2:SetCode(EVENT_CHAIN_SOLVED)
e2:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_CARD_TARGET) e2:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(2,2645637) e2:SetCountLimit(2,2645637)
...@@ -34,8 +42,11 @@ function c2645637.disop(e,tp,eg,ep,ev,re,r,rp) ...@@ -34,8 +42,11 @@ function c2645637.disop(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateEffect(ev) Duel.NegateEffect(ev)
end end
end end
function c2645637.atkcon3(e,tp,eg,ep,ev,re,r,rp)
return re:IsActiveType(TYPE_MONSTER) and Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION)==LOCATION_GRAVE and e:GetHandler():GetFlagEffect(1)>0
end
function c2645637.atkcon(e,tp,eg,ep,ev,re,r,rp) function c2645637.atkcon(e,tp,eg,ep,ev,re,r,rp)
return re:IsActiveType(TYPE_MONSTER) and Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION)==LOCATION_GRAVE return e:GetHandler():GetFlagEffect(1)>0
end end
function c2645637.spfilter(c) function c2645637.spfilter(c)
return c:IsSummonLocation(LOCATION_GRAVE) return c:IsSummonLocation(LOCATION_GRAVE)
......
...@@ -37,6 +37,7 @@ function c29085954.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -37,6 +37,7 @@ function c29085954.spop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetFieldGroup(tp,LOCATION_EXTRA,0) local g=Duel.GetFieldGroup(tp,LOCATION_EXTRA,0)
if g:GetCount()>0 and aux.MustMaterialCheck(c,tp,EFFECT_MUST_BE_XMATERIAL) if g:GetCount()>0 and aux.MustMaterialCheck(c,tp,EFFECT_MUST_BE_XMATERIAL)
and c:IsFaceup() and c:IsRelateToEffect(e) and c:IsControler(tp) and not c:IsImmuneToEffect(e) then and c:IsFaceup() and c:IsRelateToEffect(e) and c:IsControler(tp) and not c:IsImmuneToEffect(e) then
Duel.ShuffleExtra(tp)
local tg=g:RandomSelect(1-tp,1) local tg=g:RandomSelect(1-tp,1)
Duel.ConfirmCards(1-tp,tg) Duel.ConfirmCards(1-tp,tg)
if tg:IsExists(c29085954.filter,1,nil,e,tp,c) then if tg:IsExists(c29085954.filter,1,nil,e,tp,c) then
......
...@@ -88,25 +88,31 @@ function s.drmop(e,tp,eg,ep,ev,re,r,rp) ...@@ -88,25 +88,31 @@ function s.drmop(e,tp,eg,ep,ev,re,r,rp)
if #g~=2 or Duel.Remove(g,0,REASON_EFFECT+REASON_TEMPORARY)==0 if #g~=2 or Duel.Remove(g,0,REASON_EFFECT+REASON_TEMPORARY)==0
or not g:IsExists(Card.IsLocation,1,nil,LOCATION_REMOVED) then return end or not g:IsExists(Card.IsLocation,1,nil,LOCATION_REMOVED) then return end
local og=Duel.GetOperatedGroup():Filter(Card.IsLocation,nil,LOCATION_REMOVED) local og=Duel.GetOperatedGroup():Filter(Card.IsLocation,nil,LOCATION_REMOVED)
local c=e:GetHandler()
local fid=c:GetFieldID()
for tc in aux.Next(og) do for tc in aux.Next(og) do
tc:RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1) tc:RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1,fid)
end end
og:KeepAlive() og:KeepAlive()
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END) e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetLabel(fid)
e1:SetLabelObject(og) e1:SetLabelObject(og)
e1:SetCountLimit(1) e1:SetCountLimit(1)
e1:SetCondition(s.retcon) e1:SetCondition(s.retcon)
e1:SetOperation(s.retop) e1:SetOperation(s.retop)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
function s.retfilter(c) function s.retfilter(c,fid)
return c:GetFlagEffect(id)~=0 return c:GetFlagEffectLabel(id)==fid
end
function s.retfilter1(c,tp,fid)
return c:GetFlagEffectLabel(id)==fid and c:IsControler(tp)
end end
function s.retcon(e,tp,eg,ep,ev,re,r,rp) function s.retcon(e,tp,eg,ep,ev,re,r,rp)
if not e:GetLabelObject():IsExists(s.retfilter,1,nil) then if not e:GetLabelObject():IsExists(s.retfilter,1,nil,e:GetLabel()) then
e:GetLabelObject():DeleteGroup() e:GetLabelObject():DeleteGroup()
e:Reset() e:Reset()
return false return false
...@@ -114,8 +120,31 @@ function s.retcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -114,8 +120,31 @@ function s.retcon(e,tp,eg,ep,ev,re,r,rp)
return true return true
end end
function s.retop(e,tp,eg,ep,ev,re,r,rp) function s.retop(e,tp,eg,ep,ev,re,r,rp)
local g=e:GetLabelObject():Filter(s.retfilter,nil) local fid=e:GetLabel()
for tc in aux.Next(g) do local g1=e:GetLabelObject():Filter(s.retfilter1,nil,tp,fid)
Duel.ReturnToField(tc) local g2=e:GetLabelObject():Filter(s.retfilter1,nil,1-tp,fid)
local turnp=Duel.GetTurnPlayer()
if #g2==0 then
if #g1==1 then
Duel.ReturnToField(g1:GetFirst())
else
local tc=g1:Select(tp,1,1,nil):GetFirst()
Duel.ReturnToField(tc)
g1:RemoveCard(tc)
Duel.ReturnToField(g1:GetFirst())
end
else
if turnp==tp then
if #g1>0 then
Duel.ReturnToField(g1:GetFirst())
end
Duel.ReturnToField(g2:GetFirst())
else
Duel.ReturnToField(g2:GetFirst())
if #g1>0 then
Duel.ReturnToField(g1:GetFirst())
end
end
end end
e:GetLabelObject():DeleteGroup()
end end
...@@ -12,12 +12,20 @@ function c31629407.initial_effect(c) ...@@ -12,12 +12,20 @@ function c31629407.initial_effect(c)
e2:SetCode(EFFECT_TRAP_ACT_IN_HAND) e2:SetCode(EFFECT_TRAP_ACT_IN_HAND)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--special summon --special summon
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e0:SetCode(EVENT_CHAINING)
e0:SetRange(LOCATION_MZONE)
e0:SetCondition(c31629407.colcheck)
e0:SetOperation(aux.chainreg)
c:RegisterEffect(e0)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(31629407,0)) e3:SetDescription(aux.Stringid(31629407,0))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON) e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetProperty(EFFECT_FLAG_DELAY) e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCode(EVENT_CHAINING) e3:SetCode(EVENT_CHAIN_SOLVED)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,31629407) e3:SetCountLimit(1,31629407)
e3:SetCondition(c31629407.spcon) e3:SetCondition(c31629407.spcon)
...@@ -25,9 +33,12 @@ function c31629407.initial_effect(c) ...@@ -25,9 +33,12 @@ function c31629407.initial_effect(c)
e3:SetOperation(c31629407.spop) e3:SetOperation(c31629407.spop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c31629407.spcon(e,tp,eg,ep,ev,re,r,rp) function c31629407.colcheck(e,tp,eg,ep,ev,re,r,rp)
return re:IsHasType(EFFECT_TYPE_ACTIVATE) and e:GetHandler():GetColumnGroup():IsContains(re:GetHandler()) return re:IsHasType(EFFECT_TYPE_ACTIVATE) and e:GetHandler():GetColumnGroup():IsContains(re:GetHandler())
end end
function c31629407.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(1)>0
end
function c31629407.spfilter(c,e,tp) function c31629407.spfilter(c,e,tp)
return c:IsLevelBelow(4) and c:IsSetCard(0x108) and not c:IsCode(31629407) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE) return c:IsLevelBelow(4) and c:IsSetCard(0x108) and not c:IsCode(31629407) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE)
end end
......
...@@ -12,12 +12,20 @@ function c32841045.initial_effect(c) ...@@ -12,12 +12,20 @@ function c32841045.initial_effect(c)
e2:SetCode(EFFECT_TRAP_ACT_IN_HAND) e2:SetCode(EFFECT_TRAP_ACT_IN_HAND)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--search --search
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e0:SetCode(EVENT_CHAINING)
e0:SetRange(LOCATION_MZONE)
e0:SetCondition(c32841045.colcheck)
e0:SetOperation(aux.chainreg)
c:RegisterEffect(e0)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(32841045,0)) e3:SetDescription(aux.Stringid(32841045,0))
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetProperty(EFFECT_FLAG_DELAY) e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCode(EVENT_CHAINING) e3:SetCode(EVENT_CHAIN_SOLVED)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,32841045) e3:SetCountLimit(1,32841045)
e3:SetCondition(c32841045.thcon) e3:SetCondition(c32841045.thcon)
...@@ -25,9 +33,12 @@ function c32841045.initial_effect(c) ...@@ -25,9 +33,12 @@ function c32841045.initial_effect(c)
e3:SetOperation(c32841045.thop) e3:SetOperation(c32841045.thop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c32841045.thcon(e,tp,eg,ep,ev,re,r,rp) function c32841045.colcheck(e,tp,eg,ep,ev,re,r,rp)
return re:IsHasType(EFFECT_TYPE_ACTIVATE) and e:GetHandler():GetColumnGroup():IsContains(re:GetHandler()) return re:IsHasType(EFFECT_TYPE_ACTIVATE) and e:GetHandler():GetColumnGroup():IsContains(re:GetHandler())
end end
function c32841045.thcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(1)>0
end
function c32841045.thfilter(c,rc) function c32841045.thfilter(c,rc)
return c:IsSetCard(0x108) and not c:IsCode(rc:GetCode()) and c:IsAbleToHand() return c:IsSetCard(0x108) and not c:IsCode(rc:GetCode()) and c:IsAbleToHand()
end end
......
...@@ -10,11 +10,19 @@ function c33158448.initial_effect(c) ...@@ -10,11 +10,19 @@ function c33158448.initial_effect(c)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetValue(c33158448.atkval) e1:SetValue(c33158448.atkval)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e0:SetCode(EVENT_CHAINING)
e0:SetRange(LOCATION_MZONE)
e0:SetCondition(c33158448.spchk)
e0:SetOperation(aux.chainreg)
c:RegisterEffect(e0)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(33158448,0)) e3:SetDescription(aux.Stringid(33158448,0))
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP) e3:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e3:SetCode(EVENT_CHAINING) e3:SetCode(EVENT_CHAIN_SOLVED)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetCondition(c33158448.lvcon) e3:SetCondition(c33158448.lvcon)
e3:SetOperation(c33158448.lvop) e3:SetOperation(c33158448.lvop)
...@@ -41,9 +49,12 @@ end ...@@ -41,9 +49,12 @@ end
function c33158448.atkval(e,c) function c33158448.atkval(e,c)
return c:GetLevel()*300 return c:GetLevel()*300
end end
function c33158448.lvcon(e,tp,eg,ep,ev,re,r,rp) function c33158448.spchk(e,tp,eg,ep,ev,re,r,rp)
return re:IsActiveType(TYPE_SPELL+TYPE_TRAP) and re:GetHandler():IsSetCard(0x107) return re:IsActiveType(TYPE_SPELL+TYPE_TRAP) and re:GetHandler():IsSetCard(0x107)
end end
function c33158448.lvcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(1)>0
end
function c33158448.lvop(e,tp,eg,ep,ev,re,r,rp) function c33158448.lvop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and c:IsFaceup() then if c:IsRelateToEffect(e) and c:IsFaceup() then
......
...@@ -51,6 +51,7 @@ function c36092504.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -51,6 +51,7 @@ function c36092504.activate(e,tp,eg,ep,ev,re,r,rp)
g2=Duel.GetMatchingGroup(aux.NecroValleyFilter(Card.IsAbleToRemove),tp,0,LOCATION_ONFIELD+LOCATION_EXTRA+LOCATION_GRAVE,nil) g2=Duel.GetMatchingGroup(aux.NecroValleyFilter(Card.IsAbleToRemove),tp,0,LOCATION_ONFIELD+LOCATION_EXTRA+LOCATION_GRAVE,nil)
if g1:IsExists(Card.IsType,1,nil,TYPE_SYNCHRO) and g2:IsExists(c36092504.rmfilter1,3,nil) then if g1:IsExists(Card.IsType,1,nil,TYPE_SYNCHRO) and g2:IsExists(c36092504.rmfilter1,3,nil) then
if res~=0 then Duel.BreakEffect() end if res~=0 then Duel.BreakEffect() end
Duel.ShuffleExtra(1-tp)
local rg=g2:Filter(c36092504.rmfilter1,nil):RandomSelect(tp,3) local rg=g2:Filter(c36092504.rmfilter1,nil):RandomSelect(tp,3)
res=Duel.Remove(rg,POS_FACEUP,REASON_EFFECT) res=Duel.Remove(rg,POS_FACEUP,REASON_EFFECT)
end end
......
...@@ -23,11 +23,19 @@ function c37414347.initial_effect(c) ...@@ -23,11 +23,19 @@ function c37414347.initial_effect(c)
e3:SetValue(1) e3:SetValue(1)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--counter --counter
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e0:SetCode(EVENT_CHAINING)
e0:SetRange(LOCATION_MZONE)
e0:SetCondition(c37414347.spchk)
e0:SetOperation(aux.chainreg)
c:RegisterEffect(e0)
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(37414347,0)) e4:SetDescription(aux.Stringid(37414347,0))
e4:SetCategory(CATEGORY_COUNTER) e4:SetCategory(CATEGORY_COUNTER)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F) e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e4:SetCode(EVENT_CHAINING) e4:SetCode(EVENT_CHAIN_SOLVED)
e4:SetRange(LOCATION_MZONE) e4:SetRange(LOCATION_MZONE)
e4:SetCondition(c37414347.ctcon) e4:SetCondition(c37414347.ctcon)
e4:SetTarget(c37414347.cttg) e4:SetTarget(c37414347.cttg)
...@@ -55,9 +63,12 @@ function c37414347.atkval(e,c) ...@@ -55,9 +63,12 @@ function c37414347.atkval(e,c)
local lg=c:GetLinkedGroup():Filter(c37414347.atkfilter,nil) local lg=c:GetLinkedGroup():Filter(c37414347.atkfilter,nil)
return lg:GetSum(Card.GetLevel)*300 return lg:GetSum(Card.GetLevel)*300
end end
function c37414347.ctcon(e,tp,eg,ep,ev,re,r,rp) function c37414347.spchk(e,tp,eg,ep,ev,re,r,rp)
return re:IsActiveType(TYPE_SPELL+TYPE_TRAP) and re:GetHandler():IsSetCard(0x107) return re:IsActiveType(TYPE_SPELL+TYPE_TRAP) and re:GetHandler():IsSetCard(0x107)
end end
function c37414347.ctcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(1)>0
end
function c37414347.cttg(e,tp,eg,ep,ev,re,r,rp,chk) function c37414347.cttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,0,0x4a) Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,0,0x4a)
......
...@@ -26,6 +26,7 @@ function c48814566.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -26,6 +26,7 @@ function c48814566.activate(e,tp,eg,ep,ev,re,r,rp)
local sg1=g1:Select(tp,1,#g2,nil) local sg1=g1:Select(tp,1,#g2,nil)
if Duel.Remove(sg1,POS_FACEDOWN,REASON_EFFECT)~=0 and sg1:IsExists(Card.IsLocation,1,nil,LOCATION_REMOVED) then if Duel.Remove(sg1,POS_FACEDOWN,REASON_EFFECT)~=0 and sg1:IsExists(Card.IsLocation,1,nil,LOCATION_REMOVED) then
local og1=Duel.GetOperatedGroup():Filter(Card.IsLocation,nil,LOCATION_REMOVED) local og1=Duel.GetOperatedGroup():Filter(Card.IsLocation,nil,LOCATION_REMOVED)
Duel.ShuffleExtra(1-tp)
local sg2=g2:RandomSelect(tp,#og1) local sg2=g2:RandomSelect(tp,#og1)
if Duel.Remove(sg2,POS_FACEUP,REASON_EFFECT+REASON_TEMPORARY)~=0 and sg2:IsExists(Card.IsLocation,1,nil,LOCATION_REMOVED) then if Duel.Remove(sg2,POS_FACEUP,REASON_EFFECT+REASON_TEMPORARY)~=0 and sg2:IsExists(Card.IsLocation,1,nil,LOCATION_REMOVED) then
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -34,6 +34,7 @@ function c49238328.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -34,6 +34,7 @@ function c49238328.target(e,tp,eg,ep,ev,re,r,rp,chk)
else else
op=Duel.SelectOption(tp,aux.Stringid(49238328,0)) op=Duel.SelectOption(tp,aux.Stringid(49238328,0))
end end
Duel.ShuffleExtra(tp)
local rg=g:RandomSelect(tp,3+op*3) local rg=g:RandomSelect(tp,3+op*3)
Duel.Remove(rg,POS_FACEDOWN,REASON_COST) Duel.Remove(rg,POS_FACEDOWN,REASON_COST)
Duel.SetTargetPlayer(tp) Duel.SetTargetPlayer(tp)
......
...@@ -28,11 +28,19 @@ function c49655592.initial_effect(c) ...@@ -28,11 +28,19 @@ function c49655592.initial_effect(c)
e3:SetTargetRange(0,1) e3:SetTargetRange(0,1)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--lv up --lv up
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e0:SetCode(EVENT_CHAINING)
e0:SetRange(LOCATION_MZONE)
e0:SetCondition(c49655592.spchk)
e0:SetOperation(aux.chainreg)
c:RegisterEffect(e0)
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(49655592,0)) e4:SetDescription(aux.Stringid(49655592,0))
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_DAMAGE_STEP) e4:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e4:SetCode(EVENT_CHAINING) e4:SetCode(EVENT_CHAIN_SOLVED)
e4:SetRange(LOCATION_MZONE) e4:SetRange(LOCATION_MZONE)
e4:SetCondition(c49655592.lvcon) e4:SetCondition(c49655592.lvcon)
e4:SetOperation(c49655592.lvop) e4:SetOperation(c49655592.lvop)
...@@ -59,9 +67,12 @@ end ...@@ -59,9 +67,12 @@ end
function c49655592.atkval(e,c) function c49655592.atkval(e,c)
return c:GetLevel()*300 return c:GetLevel()*300
end end
function c49655592.lvcon(e,tp,eg,ep,ev,re,r,rp) function c49655592.spchk(e,tp,eg,ep,ev,re,r,rp)
return re:IsActiveType(TYPE_SPELL+TYPE_TRAP) and re:GetHandler():IsSetCard(0x107) return re:IsActiveType(TYPE_SPELL+TYPE_TRAP) and re:GetHandler():IsSetCard(0x107)
end end
function c49655592.lvcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(1)>0
end
function c49655592.lvop(e,tp,eg,ep,ev,re,r,rp) function c49655592.lvop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and c:IsFaceup() then if c:IsRelateToEffect(e) and c:IsFaceup() then
......
...@@ -4,11 +4,19 @@ function c50237654.initial_effect(c) ...@@ -4,11 +4,19 @@ function c50237654.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddFusionProcCodeFun(c,{46986414,38033121},aux.FilterBoolFunction(Card.IsRace,RACE_SPELLCASTER),1,true,true) aux.AddFusionProcCodeFun(c,{46986414,38033121},aux.FilterBoolFunction(Card.IsRace,RACE_SPELLCASTER),1,true,true)
--draw --draw
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e0:SetCode(EVENT_CHAINING)
e0:SetRange(LOCATION_MZONE)
e0:SetCondition(c50237654.drcon1)
e0:SetOperation(aux.chainreg)
c:RegisterEffect(e0)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(50237654,1)) e1:SetDescription(aux.Stringid(50237654,1))
e1:SetCategory(CATEGORY_DRAW) e1:SetCategory(CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_CHAINING) e1:SetCode(EVENT_CHAIN_SOLVED)
e1:SetProperty(EFFECT_FLAG_DELAY) e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1) e1:SetCountLimit(1)
...@@ -26,9 +34,12 @@ function c50237654.initial_effect(c) ...@@ -26,9 +34,12 @@ function c50237654.initial_effect(c)
e2:SetOperation(c50237654.spop) e2:SetOperation(c50237654.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c50237654.drcon(e,tp,eg,ep,ev,re,r,rp) function c50237654.drcon1(e,tp,eg,ep,ev,re,r,rp)
return re:IsActiveType(TYPE_SPELL+TYPE_TRAP) return re:IsActiveType(TYPE_SPELL+TYPE_TRAP)
end end
function c50237654.drcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(1)>0
end
function c50237654.drtg(e,tp,eg,ep,ev,re,r,rp,chk) function c50237654.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp,1) end if chk==0 then return Duel.IsPlayerCanDraw(tp,1) end
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1) Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
......
...@@ -12,12 +12,20 @@ function c5230799.initial_effect(c) ...@@ -12,12 +12,20 @@ function c5230799.initial_effect(c)
e2:SetCode(EFFECT_TRAP_ACT_IN_HAND) e2:SetCode(EFFECT_TRAP_ACT_IN_HAND)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--draw --draw
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e0:SetCode(EVENT_CHAINING)
e0:SetRange(LOCATION_MZONE)
e0:SetCondition(c5230799.colcheck)
e0:SetOperation(aux.chainreg)
c:RegisterEffect(e0)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(5230799,0)) e3:SetDescription(aux.Stringid(5230799,0))
e3:SetCategory(CATEGORY_DRAW) e3:SetCategory(CATEGORY_DRAW)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_PLAYER_TARGET) e3:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_PLAYER_TARGET)
e3:SetCode(EVENT_CHAINING) e3:SetCode(EVENT_CHAIN_SOLVED)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,5230799) e3:SetCountLimit(1,5230799)
e3:SetCondition(c5230799.drcon) e3:SetCondition(c5230799.drcon)
...@@ -26,9 +34,12 @@ function c5230799.initial_effect(c) ...@@ -26,9 +34,12 @@ function c5230799.initial_effect(c)
e3:SetOperation(c5230799.drop) e3:SetOperation(c5230799.drop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c5230799.drcon(e,tp,eg,ep,ev,re,r,rp) function c5230799.colcheck(e,tp,eg,ep,ev,re,r,rp)
return re:IsHasType(EFFECT_TYPE_ACTIVATE) and e:GetHandler():GetColumnGroup():IsContains(re:GetHandler()) return re:IsHasType(EFFECT_TYPE_ACTIVATE) and e:GetHandler():GetColumnGroup():IsContains(re:GetHandler())
end end
function c5230799.drcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(1)>0
end
function c5230799.cfilter(c) function c5230799.cfilter(c)
return c:IsSetCard(0x108) and c:IsDiscardable() return c:IsSetCard(0x108) and c:IsDiscardable()
end end
......
...@@ -12,11 +12,19 @@ function c55591586.initial_effect(c) ...@@ -12,11 +12,19 @@ function c55591586.initial_effect(c)
e1:SetOperation(c55591586.spop) e1:SetOperation(c55591586.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--atk --atk
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e0:SetCode(EVENT_CHAINING)
e0:SetRange(LOCATION_MZONE)
e0:SetCondition(c55591586.atkcon1)
e0:SetOperation(aux.chainreg)
c:RegisterEffect(e0)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(55591586,1)) e2:SetDescription(aux.Stringid(55591586,1))
e2:SetCategory(CATEGORY_ATKCHANGE) e2:SetCategory(CATEGORY_ATKCHANGE)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e2:SetCode(EVENT_CHAINING) e2:SetCode(EVENT_CHAIN_SOLVED)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1) e2:SetCountLimit(1)
e2:SetCondition(c55591586.atkcon) e2:SetCondition(c55591586.atkcon)
...@@ -63,9 +71,12 @@ function c55591586.spop(e,tp,eg,ep,ev,re,r,rp,c) ...@@ -63,9 +71,12 @@ function c55591586.spop(e,tp,eg,ep,ev,re,r,rp,c)
local sg=g:SelectSubGroup(tp,aux.gfcheck,false,2,2,Card.IsAttribute,ATTRIBUTE_LIGHT,ATTRIBUTE_DARK) local sg=g:SelectSubGroup(tp,aux.gfcheck,false,2,2,Card.IsAttribute,ATTRIBUTE_LIGHT,ATTRIBUTE_DARK)
Duel.Remove(sg,POS_FACEUP,REASON_COST) Duel.Remove(sg,POS_FACEUP,REASON_COST)
end end
function c55591586.atkcon(e,tp,eg,ep,ev,re,r,rp) function c55591586.atkcon1(e,tp,eg,ep,ev,re,r,rp)
local loc=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION) local loc=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION)
return re:IsActiveType(TYPE_MONSTER) and loc==LOCATION_HAND return re:IsActiveType(TYPE_MONSTER) and loc==LOCATION_HAND and e:GetHandler():GetFlagEffect(1)>0
end
function c55591586.atkcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(1)>0
end end
function c55591586.atkop(e,tp,eg,ep,ev,re,r,rp) function c55591586.atkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
......
--ゼンマイマジシャン --ゼンマイマジシャン
function c59297550.initial_effect(c) function c59297550.initial_effect(c)
--special summon --special summon
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e0:SetCode(EVENT_CHAINING)
e0:SetRange(LOCATION_MZONE)
e0:SetCondition(c59297550.spcon1)
e0:SetOperation(aux.chainreg)
c:RegisterEffect(e0)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(59297550,0)) e1:SetDescription(aux.Stringid(59297550,0))
e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_NO_TURN_RESET) e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_NO_TURN_RESET)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_FIELD)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCode(EVENT_CHAINING) e1:SetCode(EVENT_CHAIN_SOLVED)
e1:SetCountLimit(1) e1:SetCountLimit(1)
e1:SetCondition(c59297550.spcon) e1:SetCondition(c59297550.spcon)
e1:SetTarget(c59297550.sptg) e1:SetTarget(c59297550.sptg)
e1:SetOperation(c59297550.spop) e1:SetOperation(c59297550.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c59297550.spcon(e,tp,eg,ep,ev,re,r,rp) function c59297550.spcon1(e,tp,eg,ep,ev,re,r,rp)
return re:IsActiveType(TYPE_MONSTER) return re:IsActiveType(TYPE_MONSTER)
and re:GetHandler():IsSetCard(0x58) and not re:GetHandler():IsCode(59297550) and re:GetHandler():IsSetCard(0x58) and not re:GetHandler():IsCode(59297550)
end end
function c59297550.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(1)>0
end
function c59297550.filter(c,e,tp) function c59297550.filter(c,e,tp)
return c:IsSetCard(0x58) and c:IsLevelBelow(4) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE) return c:IsSetCard(0x58) and c:IsLevelBelow(4) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE)
end end
......
...@@ -102,7 +102,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -102,7 +102,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
local tc=g:GetFirst() local tc=g:GetFirst()
if Duel.SpecialSummon(tc,0,tp,tp,true,false,POS_FACEUP)>0 then if Duel.SpecialSummon(tc,0,tp,tp,true,false,POS_FACEUP)>0 then
local c=e:GetHandler() local c=e:GetHandler()
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(tc)
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_ACTIVATE) e1:SetCode(EFFECT_CANNOT_ACTIVATE)
......
...@@ -17,12 +17,20 @@ function s.initial_effect(c) ...@@ -17,12 +17,20 @@ function s.initial_effect(c)
e1:SetOperation(s.tdop) e1:SetOperation(s.tdop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--special summon --special summon
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e0:SetCode(EVENT_CHAINING)
e0:SetRange(LOCATION_MZONE)
e0:SetCondition(s.spcon1)
e0:SetOperation(aux.chainreg)
c:RegisterEffect(e0)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id,1)) e2:SetDescription(aux.Stringid(id,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON) e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_DELAY) e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_CHAINING) e2:SetCode(EVENT_CHAIN_SOLVED)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,id+o) e2:SetCountLimit(1,id+o)
e2:SetCondition(s.spcon) e2:SetCondition(s.spcon)
...@@ -53,9 +61,12 @@ function s.tdop(e,tp,eg,ep,ev,re,r,rp) ...@@ -53,9 +61,12 @@ function s.tdop(e,tp,eg,ep,ev,re,r,rp)
Duel.Draw(tp,1,REASON_EFFECT) Duel.Draw(tp,1,REASON_EFFECT)
end end
end end
function s.spcon(e,tp,eg,ep,ev,re,r,rp) function s.spcon1(e,tp,eg,ep,ev,re,r,rp)
return re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:GetActiveType()==TYPE_TRAP return re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:GetActiveType()==TYPE_TRAP
end end
function s.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(1)>0
end
function s.spfilter(c,e,tp) function s.spfilter(c,e,tp)
return c:IsLevel(4) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsLevel(4) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
......
...@@ -15,11 +15,19 @@ function c67045745.initial_effect(c) ...@@ -15,11 +15,19 @@ function c67045745.initial_effect(c)
e2:SetValue(c67045745.indval) e2:SetValue(c67045745.indval)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--lv up --lv up
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e0:SetCode(EVENT_CHAINING)
e0:SetRange(LOCATION_MZONE)
e0:SetCondition(c67045745.spchk)
e0:SetOperation(aux.chainreg)
c:RegisterEffect(e0)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(67045745,0)) e3:SetDescription(aux.Stringid(67045745,0))
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP) e3:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e3:SetCode(EVENT_CHAINING) e3:SetCode(EVENT_CHAIN_SOLVED)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetCondition(c67045745.lvcon) e3:SetCondition(c67045745.lvcon)
e3:SetOperation(c67045745.lvop) e3:SetOperation(c67045745.lvop)
...@@ -45,9 +53,12 @@ function c67045745.indval(e,c) ...@@ -45,9 +53,12 @@ function c67045745.indval(e,c)
return c:GetOriginalLevel()<lv return c:GetOriginalLevel()<lv
else return false end else return false end
end end
function c67045745.lvcon(e,tp,eg,ep,ev,re,r,rp) function c67045745.spchk(e,tp,eg,ep,ev,re,r,rp)
return re:IsActiveType(TYPE_SPELL+TYPE_TRAP) and re:GetHandler():IsSetCard(0x107) return re:IsActiveType(TYPE_SPELL+TYPE_TRAP) and re:GetHandler():IsSetCard(0x107)
end end
function c67045745.lvcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(1)>0
end
function c67045745.lvop(e,tp,eg,ep,ev,re,r,rp) function c67045745.lvop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and c:IsFaceup() then if c:IsRelateToEffect(e) and c:IsFaceup() then
......
...@@ -17,11 +17,19 @@ function c6764709.initial_effect(c) ...@@ -17,11 +17,19 @@ function c6764709.initial_effect(c)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetValue(c6764709.atkval) e2:SetValue(c6764709.atkval)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e0:SetCode(EVENT_CHAINING)
e0:SetRange(LOCATION_MZONE)
e0:SetCondition(c6764709.spchk)
e0:SetOperation(aux.chainreg)
c:RegisterEffect(e0)
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(6764709,0)) e4:SetDescription(aux.Stringid(6764709,0))
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_DAMAGE_STEP) e4:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e4:SetCode(EVENT_CHAINING) e4:SetCode(EVENT_CHAIN_SOLVED)
e4:SetRange(LOCATION_MZONE) e4:SetRange(LOCATION_MZONE)
e4:SetCondition(c6764709.lvcon) e4:SetCondition(c6764709.lvcon)
e4:SetOperation(c6764709.lvop) e4:SetOperation(c6764709.lvop)
...@@ -54,9 +62,12 @@ end ...@@ -54,9 +62,12 @@ end
function c6764709.atkval(e,c) function c6764709.atkval(e,c)
return c:GetLevel()*300 return c:GetLevel()*300
end end
function c6764709.lvcon(e,tp,eg,ep,ev,re,r,rp) function c6764709.spchk(e,tp,eg,ep,ev,re,r,rp)
return re:IsActiveType(TYPE_SPELL+TYPE_TRAP) and re:GetHandler():IsSetCard(0x107) return re:IsActiveType(TYPE_SPELL+TYPE_TRAP) and re:GetHandler():IsSetCard(0x107)
end end
function c6764709.lvcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(1)>0
end
function c6764709.lvop(e,tp,eg,ep,ev,re,r,rp) function c6764709.lvop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and c:IsFaceup() then if c:IsRelateToEffect(e) and c:IsFaceup() then
......
...@@ -12,12 +12,20 @@ function c68024506.initial_effect(c) ...@@ -12,12 +12,20 @@ function c68024506.initial_effect(c)
e2:SetCode(EFFECT_TRAP_ACT_IN_HAND) e2:SetCode(EFFECT_TRAP_ACT_IN_HAND)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--special summon --special summon
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e0:SetCode(EVENT_CHAINING)
e0:SetRange(LOCATION_MZONE)
e0:SetCondition(c68024506.colcheck)
e0:SetOperation(aux.chainreg)
c:RegisterEffect(e0)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(68024506,0)) e3:SetDescription(aux.Stringid(68024506,0))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON) e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_CARD_TARGET) e3:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_CARD_TARGET)
e3:SetCode(EVENT_CHAINING) e3:SetCodeEVENT_CHAIN_SOLVED)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,68024506) e3:SetCountLimit(1,68024506)
e3:SetCondition(c68024506.spcon) e3:SetCondition(c68024506.spcon)
...@@ -25,9 +33,12 @@ function c68024506.initial_effect(c) ...@@ -25,9 +33,12 @@ function c68024506.initial_effect(c)
e3:SetOperation(c68024506.spop) e3:SetOperation(c68024506.spop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c68024506.spcon(e,tp,eg,ep,ev,re,r,rp) function c68024506.colcheck(e,tp,eg,ep,ev,re,r,rp)
return re:IsHasType(EFFECT_TYPE_ACTIVATE) and e:GetHandler():GetColumnGroup():IsContains(re:GetHandler()) return re:IsHasType(EFFECT_TYPE_ACTIVATE) and e:GetHandler():GetColumnGroup():IsContains(re:GetHandler())
end end
function c68024506.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(1)>0
end
function c68024506.filter(c,e,tp) function c68024506.filter(c,e,tp)
return c:IsSetCard(0x108) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE) return c:IsSetCard(0x108) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE)
end end
......
...@@ -12,12 +12,20 @@ function c68246154.initial_effect(c) ...@@ -12,12 +12,20 @@ function c68246154.initial_effect(c)
e2:SetCode(EFFECT_TRAP_ACT_IN_HAND) e2:SetCode(EFFECT_TRAP_ACT_IN_HAND)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--tohand --tohand
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e0:SetCode(EVENT_CHAINING)
e0:SetRange(LOCATION_MZONE)
e0:SetCondition(c68246154.colcheck)
e0:SetOperation(aux.chainreg)
c:RegisterEffect(e0)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(68246154,0)) e3:SetDescription(aux.Stringid(68246154,0))
e3:SetCategory(CATEGORY_TOHAND) e3:SetCategory(CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetProperty(EFFECT_FLAG_DELAY) e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCode(EVENT_CHAINING) e3:SetCode(EVENT_CHAIN_SOLVED)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,68246154) e3:SetCountLimit(1,68246154)
e3:SetCondition(c68246154.thcon) e3:SetCondition(c68246154.thcon)
...@@ -25,9 +33,12 @@ function c68246154.initial_effect(c) ...@@ -25,9 +33,12 @@ function c68246154.initial_effect(c)
e3:SetOperation(c68246154.thop) e3:SetOperation(c68246154.thop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c68246154.thcon(e,tp,eg,ep,ev,re,r,rp) function c68246154.colcheck(e,tp,eg,ep,ev,re,r,rp)
return re:IsHasType(EFFECT_TYPE_ACTIVATE) and e:GetHandler():GetColumnGroup():IsContains(re:GetHandler()) return re:IsHasType(EFFECT_TYPE_ACTIVATE) and e:GetHandler():GetColumnGroup():IsContains(re:GetHandler())
end end
function c68246154.thcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(1)>0
end
function c68246154.thfilter(c,rc) function c68246154.thfilter(c,rc)
return c:IsSetCard(0x108) and not c:IsCode(rc:GetCode()) and c:IsAbleToHand() return c:IsSetCard(0x108) and not c:IsCode(rc:GetCode()) and c:IsAbleToHand()
end end
......
...@@ -24,6 +24,7 @@ function c73026394.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -24,6 +24,7 @@ function c73026394.target(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function c73026394.activate(e,tp,eg,ep,ev,re,r,rp) function c73026394.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateActivation(ev) Duel.NegateActivation(ev)
Duel.ShuffleExtra(tp)
local g=Duel.GetMatchingGroup(c73026394.filter,tp,LOCATION_EXTRA,0,nil):RandomSelect(tp,1) local g=Duel.GetMatchingGroup(c73026394.filter,tp,LOCATION_EXTRA,0,nil):RandomSelect(tp,1)
Duel.SendtoGrave(g,REASON_EFFECT) Duel.SendtoGrave(g,REASON_EFFECT)
end end
...@@ -14,12 +14,20 @@ function c73639099.initial_effect(c) ...@@ -14,12 +14,20 @@ function c73639099.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
-- --
--special summon --special summon
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e0:SetCode(EVENT_CHAINING)
e0:SetRange(LOCATION_MZONE)
e0:SetCondition(c73639099.spcon1)
e0:SetOperation(aux.chainreg)
c:RegisterEffect(e0)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(73639099,0)) e3:SetDescription(aux.Stringid(73639099,0))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON) e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetProperty(EFFECT_FLAG_DELAY) e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCode(EVENT_CHAINING) e3:SetCode(EVENT_CHAIN_SOLVED)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,73639099) e3:SetCountLimit(1,73639099)
e3:SetCondition(c73639099.spcon) e3:SetCondition(c73639099.spcon)
...@@ -48,9 +56,12 @@ end ...@@ -48,9 +56,12 @@ end
function c73639099.efilter(e,te) function c73639099.efilter(e,te)
return te:IsActiveType(TYPE_TRAP) return te:IsActiveType(TYPE_TRAP)
end end
function c73639099.spcon(e,tp,eg,ep,ev,re,r,rp) function c73639099.spcon1(e,tp,eg,ep,ev,re,r,rp)
return re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:GetHandler():GetType()==TYPE_TRAP return re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:GetHandler():GetType()==TYPE_TRAP
end end
function c73639099.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(1)>0
end
function c73639099.cfilter(c,code) function c73639099.cfilter(c,code)
return c:IsFaceup() and c:IsCode(code) return c:IsFaceup() and c:IsCode(code)
end end
......
...@@ -27,11 +27,19 @@ function c75059201.initial_effect(c) ...@@ -27,11 +27,19 @@ function c75059201.initial_effect(c)
e3:SetValue(c75059201.tgval) e3:SetValue(c75059201.tgval)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--lv up --lv up
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e0:SetCode(EVENT_CHAINING)
e0:SetRange(LOCATION_MZONE)
e0:SetCondition(c75059201.spchk)
e0:SetOperation(aux.chainreg)
c:RegisterEffect(e0)
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(75059201,0)) e4:SetDescription(aux.Stringid(75059201,0))
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_DAMAGE_STEP) e4:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e4:SetCode(EVENT_CHAINING) e4:SetCode(EVENT_CHAIN_SOLVED)
e4:SetRange(LOCATION_MZONE) e4:SetRange(LOCATION_MZONE)
e4:SetCondition(c75059201.lvcon) e4:SetCondition(c75059201.lvcon)
e4:SetOperation(c75059201.lvop) e4:SetOperation(c75059201.lvop)
...@@ -74,9 +82,12 @@ function c75059201.tgval(e,re,rp) ...@@ -74,9 +82,12 @@ function c75059201.tgval(e,re,rp)
return c:GetOriginalLevel()<lv return c:GetOriginalLevel()<lv
else return false end else return false end
end end
function c75059201.lvcon(e,tp,eg,ep,ev,re,r,rp) function c75059201.spchk(e,tp,eg,ep,ev,re,r,rp)
return re:IsActiveType(TYPE_SPELL+TYPE_TRAP) and re:GetHandler():IsSetCard(0x107) return re:IsActiveType(TYPE_SPELL+TYPE_TRAP) and re:GetHandler():IsSetCard(0x107)
end end
function c75059201.lvcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(1)>0
end
function c75059201.lvop(e,tp,eg,ep,ev,re,r,rp) function c75059201.lvop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and c:IsFaceup() then if c:IsRelateToEffect(e) and c:IsFaceup() then
......
...@@ -11,11 +11,19 @@ function c75676192.initial_effect(c) ...@@ -11,11 +11,19 @@ function c75676192.initial_effect(c)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetValue(c75676192.atkval) e1:SetValue(c75676192.atkval)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e0:SetCode(EVENT_CHAINING)
e0:SetRange(LOCATION_MZONE)
e0:SetCondition(c75676192.spchk)
e0:SetOperation(aux.chainreg)
c:RegisterEffect(e0)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(75676192,0)) e3:SetDescription(aux.Stringid(75676192,0))
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP) e3:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e3:SetCode(EVENT_CHAINING) e3:SetCode(EVENT_CHAIN_SOLVED)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetCondition(c75676192.lvcon) e3:SetCondition(c75676192.lvcon)
e3:SetOperation(c75676192.lvop) e3:SetOperation(c75676192.lvop)
...@@ -48,9 +56,12 @@ end ...@@ -48,9 +56,12 @@ end
function c75676192.atkval(e,c) function c75676192.atkval(e,c)
return c:GetLevel()*300 return c:GetLevel()*300
end end
function c75676192.lvcon(e,tp,eg,ep,ev,re,r,rp) function c75676192.spchk(e,tp,eg,ep,ev,re,r,rp)
return re:IsActiveType(TYPE_SPELL+TYPE_TRAP) and re:GetHandler():IsSetCard(0x107) return re:IsActiveType(TYPE_SPELL+TYPE_TRAP) and re:GetHandler():IsSetCard(0x107)
end end
function c75676192.lvcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(1)>0
end
function c75676192.lvop(e,tp,eg,ep,ev,re,r,rp) function c75676192.lvop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and c:IsFaceup() then if c:IsRelateToEffect(e) and c:IsFaceup() then
......
...@@ -34,11 +34,19 @@ function c78310590.initial_effect(c) ...@@ -34,11 +34,19 @@ function c78310590.initial_effect(c)
e3:SetOperation(c78310590.spop) e3:SetOperation(c78310590.spop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--spsummon (deck) --spsummon (deck)
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e0:SetCode(EVENT_CHAINING)
e0:SetRange(LOCATION_MZONE)
e0:SetCondition(c78310590.spchk)
e0:SetOperation(aux.chainreg)
c:RegisterEffect(e0)
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(78310590,2)) e5:SetDescription(aux.Stringid(78310590,2))
e5:SetCategory(CATEGORY_SPECIAL_SUMMON) e5:SetCategory(CATEGORY_SPECIAL_SUMMON)
e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e5:SetCode(EVENT_CHAINING) e5:SetCode(EVENT_CHAIN_SOLVED)
e5:SetProperty(EFFECT_FLAG_DELAY) e5:SetProperty(EFFECT_FLAG_DELAY)
e5:SetRange(LOCATION_MZONE) e5:SetRange(LOCATION_MZONE)
e5:SetCountLimit(1,78310592) e5:SetCountLimit(1,78310592)
...@@ -101,9 +109,12 @@ function c78310590.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -101,9 +109,12 @@ function c78310590.spop(e,tp,eg,ep,ev,re,r,rp)
if not c:IsRelateToEffect(e) then return end if not c:IsRelateToEffect(e) then return end
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end end
function c78310590.spcon2(e,tp,eg,ep,ev,re,r,rp) function c78310590.spchk(e,tp,eg,ep,ev,re,r,rp)
return re:IsActiveType(TYPE_SPELL)and re:GetHandler():IsSetCard(0x20ec) return re:IsActiveType(TYPE_SPELL)and re:GetHandler():IsSetCard(0x20ec)
end end
function c78310590.spcon2(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(1)>0
end
function c78310590.spfilter(c,e,tp) function c78310590.spfilter(c,e,tp)
return c:IsLevelBelow(4) and c:IsSetCard(0x10ec) and c:IsType(TYPE_PENDULUM) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsLevelBelow(4) and c:IsSetCard(0x10ec) and c:IsType(TYPE_PENDULUM) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
......
...@@ -28,6 +28,7 @@ function c7925734.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -28,6 +28,7 @@ function c7925734.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local g=Duel.GetMatchingGroup(c7925734.rmfilter,tp,LOCATION_EXTRA,0,nil) local g=Duel.GetMatchingGroup(c7925734.rmfilter,tp,LOCATION_EXTRA,0,nil)
if g:GetCount()==0 then return end if g:GetCount()==0 then return end
Duel.ShuffleExtra(tp)
local tc=g:RandomSelect(tp,1):GetFirst() local tc=g:RandomSelect(tp,1):GetFirst()
if Duel.Remove(tc,POS_FACEUP,REASON_EFFECT)~=0 and tc:IsLocation(LOCATION_REMOVED) if Duel.Remove(tc,POS_FACEUP,REASON_EFFECT)~=0 and tc:IsLocation(LOCATION_REMOVED)
and c:IsRelateToEffect(e) then and c:IsRelateToEffect(e) then
......
...@@ -17,11 +17,19 @@ function c93449450.initial_effect(c) ...@@ -17,11 +17,19 @@ function c93449450.initial_effect(c)
e2:SetValue(c93449450.immval) e2:SetValue(c93449450.immval)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--lv up --lv up
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e0:SetCode(EVENT_CHAINING)
e0:SetRange(LOCATION_MZONE)
e0:SetCondition(c93449450.spchk)
e0:SetOperation(aux.chainreg)
c:RegisterEffect(e0)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(93449450,0)) e3:SetDescription(aux.Stringid(93449450,0))
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP) e3:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e3:SetCode(EVENT_CHAINING) e3:SetCode(EVENT_CHAIN_SOLVED)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetCondition(c93449450.lvcon) e3:SetCondition(c93449450.lvcon)
e3:SetOperation(c93449450.lvop) e3:SetOperation(c93449450.lvop)
...@@ -52,9 +60,12 @@ function c93449450.immval(e,te) ...@@ -52,9 +60,12 @@ function c93449450.immval(e,te)
else return false end else return false end
else return false end else return false end
end end
function c93449450.lvcon(e,tp,eg,ep,ev,re,r,rp) function c93449450.spchk(e,tp,eg,ep,ev,re,r,rp)
return re:IsActiveType(TYPE_SPELL+TYPE_TRAP) and re:GetHandler():IsSetCard(0x107) return re:IsActiveType(TYPE_SPELL+TYPE_TRAP) and re:GetHandler():IsSetCard(0x107)
end end
function c93449450.lvcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(1)>0
end
function c93449450.lvop(e,tp,eg,ep,ev,re,r,rp) function c93449450.lvop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and c:IsFaceup() then if c:IsRelateToEffect(e) and c:IsFaceup() then
......
...@@ -12,12 +12,20 @@ function c94418111.initial_effect(c) ...@@ -12,12 +12,20 @@ function c94418111.initial_effect(c)
e2:SetCode(EFFECT_TRAP_ACT_IN_HAND) e2:SetCode(EFFECT_TRAP_ACT_IN_HAND)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--draw --draw
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e0:SetCode(EVENT_CHAINING)
e0:SetRange(LOCATION_MZONE)
e0:SetCondition(c94418111.colcheck)
e0:SetOperation(aux.chainreg)
c:RegisterEffect(e0)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(94418111,0)) e3:SetDescription(aux.Stringid(94418111,0))
e3:SetCategory(CATEGORY_TODECK+CATEGORY_DRAW) e3:SetCategory(CATEGORY_TODECK+CATEGORY_DRAW)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_CARD_TARGET) e3:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_CARD_TARGET)
e3:SetCode(EVENT_CHAINING) e3:SetCode(EVENT_CHAIN_SOLVED)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,94418111) e3:SetCountLimit(1,94418111)
e3:SetCondition(c94418111.tdcon) e3:SetCondition(c94418111.tdcon)
...@@ -25,9 +33,12 @@ function c94418111.initial_effect(c) ...@@ -25,9 +33,12 @@ function c94418111.initial_effect(c)
e3:SetOperation(c94418111.tdop) e3:SetOperation(c94418111.tdop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c94418111.tdcon(e,tp,eg,ep,ev,re,r,rp) function c94418111.colcheck(e,tp,eg,ep,ev,re,r,rp)
return re:IsHasType(EFFECT_TYPE_ACTIVATE) and e:GetHandler():GetColumnGroup():IsContains(re:GetHandler()) return re:IsHasType(EFFECT_TYPE_ACTIVATE) and e:GetHandler():GetColumnGroup():IsContains(re:GetHandler())
end end
function c94418111.tdcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(1)>0
end
function c94418111.filter(c) function c94418111.filter(c)
return c:IsSetCard(0x108) and c:IsAbleToDeck() return c:IsSetCard(0x108) and c:IsAbleToDeck()
end end
......
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