Commit f6c28b7f authored by nanahira's avatar nanahira

Merge branch 'master' of github.com:purerosefallen/ygopro-222DIY-cards

parents 5e14d1be 454bf2a7
No preview for this file type
...@@ -17,14 +17,16 @@ function c11200018.initial_effect(c) ...@@ -17,14 +17,16 @@ function c11200018.initial_effect(c)
e2:SetCategory(CATEGORY_DICE+CATEGORY_SPECIAL_SUMMON+CATEGORY_ATKCHANGE+CATEGORY_DAMAGE) e2:SetCategory(CATEGORY_DICE+CATEGORY_SPECIAL_SUMMON+CATEGORY_ATKCHANGE+CATEGORY_DAMAGE)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetLabelObject(e1)
e2:SetCountLimit(1,11200118) e2:SetCountLimit(1,11200118)
e2:SetLabelObject(e1)
e2:SetTarget(c11200018.tg2) e2:SetTarget(c11200018.tg2)
e2:SetOperation(c11200018.op2) e2:SetOperation(c11200018.op2)
c:RegisterEffect(e2) c:RegisterEffect(e2)
-- --
end end
-- --
c11200018.xig_ihs_0x132=1
--
function c11200018.tfilter1(c,tp,mg,rc) function c11200018.tfilter1(c,tp,mg,rc)
if c:IsControler(tp) and c:IsLocation(LOCATION_MZONE) and c:GetSequence()<5 then if c:IsControler(tp) and c:IsLocation(LOCATION_MZONE) and c:GetSequence()<5 then
Duel.SetSelectedCard(c) Duel.SetSelectedCard(c)
...@@ -75,7 +77,7 @@ function c11200018.op1(e,tp,eg,ep,ev,re,r,rp) ...@@ -75,7 +77,7 @@ function c11200018.op1(e,tp,eg,ep,ev,re,r,rp)
end end
-- --
function c11200018.tfilter2(c,e,tp) function c11200018.tfilter2(c,e,tp)
return c:IsSetCard(0x132) and c:IsType(TYPE_SPELL) return c.xig_ihs_0x132 and c:IsType(TYPE_SPELL)
and Duel.IsPlayerCanSpecialSummonMonster(tp,c:GetCode(),0x132,0x21,1100,1100,4,RACE_BEAST,ATTRIBUTE_LIGHT) and Duel.IsPlayerCanSpecialSummonMonster(tp,c:GetCode(),0x132,0x21,1100,1100,4,RACE_BEAST,ATTRIBUTE_LIGHT)
end end
function c11200018.tg2(e,tp,eg,ep,ev,re,r,rp,chk) function c11200018.tg2(e,tp,eg,ep,ev,re,r,rp,chk)
...@@ -93,31 +95,38 @@ end ...@@ -93,31 +95,38 @@ end
function c11200018.op2(e,tp,eg,ep,ev,re,r,rp) function c11200018.op2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local rcount=e:GetLabelObject():GetLabel() local rcount=e:GetLabelObject():GetLabel()
local dc1,dc2,dc3,dc4,dc5,dc6=Duel.TossDice(tp,rcount) local dc1,dc2,dc3,dc4,dc5,dc6,dc7,dc8=0
local dc=0 dc1,dc2,dc3,dc4,dc5,dc6=Duel.TossDice(tp,rcount)
if dc1 and dc1>0 then dc=dc+dc1 end if rcount>6 then dc7,dc8=Duel.TossDice(tp,rcount-6) end
if dc2 and dc2>0 then dc=dc+dc2 end local aldc=0
if dc3 and dc3>0 then dc=dc+dc3 end if dc1 then aldc=aldc+dc1 end
if dc4 and dc4>0 then dc=dc+dc4 end if dc2 then aldc=aldc+dc2 end
if dc5 and dc5>0 then dc=dc+dc5 end if dc3 then aldc=aldc+dc3 end
if dc6 and dc6>0 then dc=dc+dc6 end if dc4 then aldc=aldc+dc4 end
if dc%2==1 then if dc5 then aldc=aldc+dc5 end
local e1=Effect.CreateEffect(c) if dc6 then aldc=aldc+dc6 end
e1:SetType(EFFECT_TYPE_SINGLE) if dc7 then aldc=aldc+dc7 end
e1:SetCode(EFFECT_UPDATE_ATTACK) if dc8 then aldc=aldc+dc8 end
e1:SetReset(RESET_EVENT+RESETS_STANDARD) if aldc%2==1 then
e1:SetValue(dc*450) local e2_1=Effect.CreateEffect(c)
c:RegisterEffect(e1) e2_1:SetType(EFFECT_TYPE_SINGLE)
local e2_2=Effect.CreateEffect(c) e2_1:SetCode(EFFECT_UPDATE_ATTACK)
e2_2:SetType(EFFECT_TYPE_SINGLE) e2_1:SetReset(RESET_EVENT+RESETS_STANDARD)
e2_2:SetCode(EFFECT_IMMUNE_EFFECT) e2_1:SetValue(aldc*450)
e2_2:SetValue(c11200018.efilter2_2) c:RegisterEffect(e2_1)
e2_2:SetOwnerPlayer(tp) local e2_2=e2_1:Clone()
e2_2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END+RESET_OPPO_TURN) e2_2:SetCode(EFFECT_UPDATE_DEFENSE)
c:RegisterEffect(e2_2) c:RegisterEffect(e2_2)
local e2_3=Effect.CreateEffect(c)
e2_3:SetType(EFFECT_TYPE_SINGLE)
e2_3:SetCode(EFFECT_IMMUNE_EFFECT)
e2_3:SetValue(c11200018.efilter2_3)
e2_3:SetOwnerPlayer(tp)
e2_3:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END+RESET_OPPO_TURN,1)
c:RegisterEffect(e2_3)
end end
if dc==4 then Duel.Damage(tp,1100,REASON_EFFECT) end if aldc==4 then Duel.Damage(tp,1100,REASON_EFFECT) end
if dc%2==0 then if aldc%2==0 then
if Duel.GetMZoneCount(tp)<1 then return end if Duel.GetMZoneCount(tp)<1 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=Duel.SelectMatchingCard(tp,c11200018.tfilter2,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,e,tp) local sg=Duel.SelectMatchingCard(tp,c11200018.tfilter2,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,e,tp)
...@@ -129,6 +138,6 @@ function c11200018.op2(e,tp,eg,ep,ev,re,r,rp) ...@@ -129,6 +138,6 @@ function c11200018.op2(e,tp,eg,ep,ev,re,r,rp)
end end
end end
-- --
function c11200018.efilter2_2(e,re) function c11200018.efilter2_3(e,re)
return e:GetOwnerPlayer()~=re:GetOwnerPlayer() return e:GetOwnerPlayer()~=re:GetOwnerPlayer()
end end
...@@ -72,7 +72,12 @@ function c11200019.op2(e,tp,eg,ep,ev,re,r,rp) ...@@ -72,7 +72,12 @@ function c11200019.op2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if not tc:IsRelateToEffect(e) then return end if not tc:IsRelateToEffect(e) then return end
local g=Group.CreateGroup()
g:AddCard(tc)
Duel.HintSelection(g)
local e1_1=Effect.CreateEffect(c) local e1_1=Effect.CreateEffect(c)
e1_1:SetDescription(aux.Stringid(11200019,2))
e1_1:SetProperty(EFFECT_FLAG_CLIENT_HINT)
e1_1:SetType(EFFECT_TYPE_SINGLE) e1_1:SetType(EFFECT_TYPE_SINGLE)
e1_1:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL) e1_1:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
e1_1:SetValue(1) e1_1:SetValue(1)
...@@ -97,6 +102,8 @@ function c11200019.op2(e,tp,eg,ep,ev,re,r,rp) ...@@ -97,6 +102,8 @@ function c11200019.op2(e,tp,eg,ep,ev,re,r,rp)
e1_4:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_BATTLE) e1_4:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_BATTLE)
tc:RegisterEffect(e1_4) tc:RegisterEffect(e1_4)
local e1_5=Effect.CreateEffect(c) local e1_5=Effect.CreateEffect(c)
e1_5:SetDescription(aux.Stringid(11200019,3))
e1_5:SetProperty(EFFECT_FLAG_CLIENT_HINT)
e1_5:SetType(EFFECT_TYPE_SINGLE) e1_5:SetType(EFFECT_TYPE_SINGLE)
e1_5:SetCode(EFFECT_MUST_ATTACK) e1_5:SetCode(EFFECT_MUST_ATTACK)
e1_5:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_BATTLE) e1_5:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_BATTLE)
......
...@@ -25,13 +25,16 @@ function c11200020.initial_effect(c) ...@@ -25,13 +25,16 @@ function c11200020.initial_effect(c)
-- --
end end
-- --
c11200020.xig_ihs_0x132=1
--
function c11200020.cost1(e,tp,eg,ep,ev,re,r,rp,chk) function c11200020.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return not e:GetHandler():IsPublic() end if chk==0 then return not e:GetHandler():IsPublic() end
Duel.ConfirmCards(1-tp,e:GetHandler()) Duel.ConfirmCards(1-tp,e:GetHandler())
end end
-- --
function c11200020.tfilter1(c,e,tp) function c11200020.tfilter1(c,e,tp)
return c:IsSetCard(0x132) and c:IsType(TYPE_SPELL) and Duel.IsPlayerCanSpecialSummonMonster(tp,c:GetCode(),0x132,0x21,1100,1100,4,RACE_BEAST,ATTRIBUTE_LIGHT) return c.xig_ihs_0x132 and c:IsType(TYPE_SPELL)
and Duel.IsPlayerCanSpecialSummonMonster(tp,c:GetCode(),0x132,0x21,1100,1100,4,RACE_BEAST,ATTRIBUTE_LIGHT)
end end
function c11200020.tg1(e,tp,eg,ep,ev,re,r,rp,chk) function c11200020.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
...@@ -56,7 +59,6 @@ function c11200020.op1(e,tp,eg,ep,ev,re,r,rp) ...@@ -56,7 +59,6 @@ function c11200020.op1(e,tp,eg,ep,ev,re,r,rp)
local tc=sg:GetFirst() local tc=sg:GetFirst()
tc:AddMonsterAttribute(TYPE_NORMAL,ATTRIBUTE_LIGHT,RACE_BEAST,4,1100,1100) tc:AddMonsterAttribute(TYPE_NORMAL,ATTRIBUTE_LIGHT,RACE_BEAST,4,1100,1100)
Duel.SpecialSummonStep(tc,0,tp,tp,true,false,POS_FACEUP) Duel.SpecialSummonStep(tc,0,tp,tp,true,false,POS_FACEUP)
tc:AddMonsterAttributeComplete()
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
end end
end end
...@@ -67,7 +69,7 @@ end ...@@ -67,7 +69,7 @@ end
-- --
function c11200020.cfilter2(c) function c11200020.cfilter2(c)
return c:IsAbleToRemoveAsCost() return c:IsAbleToRemoveAsCost()
and c:IsType(TYPE_SPELL) and c:IsSetCard(0x132) and c:IsType(TYPE_SPELL) and c.xig_ihs_0x132
end end
function c11200020.cost2(e,tp,eg,ep,ev,re,r,rp,chk) function c11200020.cost2(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
......
--狂气的月兔 铃仙·优昙华院·因幡
function c11200021.initial_effect(c)
--
c:EnableReviveLimit()
aux.AddXyzProcedureLevelFree(c,c11200021.mfilter,nil,2,2)
--
if not c11200021.global_check then
c11200021.global_check=true
local e0=Effect.GlobalEffect()
e0:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e0:SetCode(EVENT_CHAINING)
e0:SetCondition(c11200021.con0)
e0:SetOperation(c11200021.op0)
Duel.RegisterEffect(e0,0)
end
--
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(11200021,0))
e1:SetCategory(CATEGORY_DRAW+CATEGORY_ATKCHANGE+CATEGORY_DAMAGE+CATEGORY_DICE)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetLabel(0)
e1:SetCost(c11200021.cost1)
e1:SetTarget(c11200021.tg1)
e1:SetOperation(c11200021.op1)
c:RegisterEffect(e1)
--
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(11200021,1))
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_LEAVE_GRAVE)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,11200021)
e2:SetCondition(c11200021.con2)
e2:SetCost(c11200021.cost2)
e2:SetTarget(c11200021.tg2)
e2:SetOperation(c11200021.op2)
c:RegisterEffect(e2)
--
end
--
c11200021.xig_ihs_0x132=1
--
function c11200021.mfilter(c)
return c:IsCode(11200019)
end
--
function c11200021.con0(e,tp,eg,ep,ev,re,r,rp)
local rc=re:GetHandler()
return re:IsActiveType(TYPE_MONSTER)
and not (rc.xig_ihs_0x132 or rc:IsCode(11200019))
end
--
function c11200021.op0(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(rp,11200021,RESET_PHASE+PHASE_END,0,1)
end
--
function c11200021.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(100)
if chk==0 then return true end
end
--
function c11200021.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then
if e:GetLabel()~=100 then return false end
e:SetLabel(0)
return c:CheckRemoveOverlayCard(tp,1,REASON_COST)
and c:GetOverlayCount()>0
end
c:RemoveOverlayCard(tp,1,1,REASON_COST)
local mg=Duel.GetOperatedGroup()
mg:KeepAlive()
e:SetLabelObject(mg)
Duel.SetOperationInfo(0,CATEGORY_DICE,nil,0,tp,1)
end
--
function c11200021.op1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local mg=e:GetLabelObject()
local dc=Duel.TossDice(tp,1)
local type1=0
local type2=0
local type3=0
local tc=mg:GetFirst()
while tc do
if tc:IsType(TYPE_MONSTER) then type1=1 end
if tc:IsType(TYPE_SPELL) then type2=1 end
if tc:IsType(TYPE_TRAP) then type3=1 end
tc=mg:GetNext()
end
if type1==1 then
local e1_1=Effect.CreateEffect(c)
e1_1:SetType(EFFECT_TYPE_SINGLE)
e1_1:SetCode(EFFECT_UPDATE_ATTACK)
e1_1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1_1:SetValue(dc*300)
c:RegisterEffect(e1_1)
end
if type2==1 then Duel.Draw(tp,1,REASON_EFFECT) end
if type3==1 then Duel.Damage(1-tp,dc*300,REASON_EFFECT) end
end
--
function c11200021.con2(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFlagEffect(tp,11200021)<1
end
--
function c11200021.cost2(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsAbleToExtraAsCost() end
local g=Group.CreateGroup()
g:AddCard(c)
Duel.HintSelection(g)
Duel.SendtoDeck(c,nil,2,REASON_COST)
end
--
function c11200021.tfilter2(c)
return c:IsAbleToHand() and (c.xig_ihs_0x132 or c:IsCode(11200019))
end
function c11200021.tg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c11200021.tfilter2,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,e:GetHandler()) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE+LOCATION_REMOVED)
end
--
function c11200021.op2(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c11200021.tfilter2,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
--
...@@ -31,7 +31,7 @@ end ...@@ -31,7 +31,7 @@ end
-- --
function c11200022.con1(e,tp,eg,ep,ev,re,r,rp) function c11200022.con1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
return c:GetSummonType()==SUMMON_TYPE_FUSION return c:IsSummonType(SUMMON_TYPE_FUSION)
and c:GetMaterialCount()>0 and c:GetMaterialCount()>0
end end
-- --
...@@ -41,6 +41,9 @@ function c11200022.tg1(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -41,6 +41,9 @@ function c11200022.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_DICE,nil,0,tp,1) Duel.SetOperationInfo(0,CATEGORY_DICE,nil,0,tp,1)
end end
-- --
function c11200022.ofilter1(c)
return c:IsRace(RACE_BEAST) and c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsType(TYPE_MONSTER)
end
function c11200022.op1(e,tp,eg,ep,ev,re,r,rp) function c11200022.op1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local dc=Duel.TossDice(tp,1) local dc=Duel.TossDice(tp,1)
...@@ -78,18 +81,20 @@ function c11200022.op1(e,tp,eg,ep,ev,re,r,rp) ...@@ -78,18 +81,20 @@ function c11200022.op1(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local sg=Duel.SelectMatchingCard(tp,Card.IsDestructable,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil) local sg=Duel.SelectMatchingCard(tp,Card.IsDestructable,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
if sg:GetCount()<1 then return end if sg:GetCount()<1 then return end
Duel.Destroy(sg,REASON_EFFECT) if Duel.Destroy(sg,REASON_EFFECT)>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local tg=Duel.SelectMatchingCard(tp,c11200022.ofilter2,tp,LOCATION_DECK,0,1,1,nil) local tg=Duel.SelectMatchingCard(tp,c11200022.ofilter1,tp,LOCATION_DECK,0,1,1,nil)
if tg:GetCount()<1 then return end if tg:GetCount()<1 then return end
Duel.SendtoHand(tg,nil,REASON_EFFECT) Duel.BreakEffect()
Duel.ConfirmCards(1-tp,tg) Duel.SendtoHand(tg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tg)
end
end end
end end
-- --
function c11200022.con2(e,tp,eg,ep,ev,re,r,rp) function c11200022.con2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
return c:GetSummonType()==SUMMON_TYPE_FUSION return c:IsSummonType(SUMMON_TYPE_FUSION)
and c:GetFlagEffect(11200022)==0 and c:GetFlagEffect(11200022)==0
end end
function c11200022.op2(e,tp,eg,ep,ev,re,r,rp) function c11200022.op2(e,tp,eg,ep,ev,re,r,rp)
......
--你已经疯了!
function c11200023.initial_effect(c)
--
c:EnableReviveLimit()
aux.AddFusionProcFunRep(c,c11200023.mfilter,3,true)
--
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(11200023,0))
e1:SetCategory(CATEGORY_DAMAGE+CATEGORY_DESTROY)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCountLimit(1,11200023)
e1:SetCondition(c11200023.con1)
e1:SetTarget(c11200023.tg1)
e1:SetOperation(c11200023.op1)
c:RegisterEffect(e1)
--
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(11200023,0))
e2:SetCategory(CATEGORY_DAMAGE+CATEGORY_DESTROY)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,11200023)
e2:SetCondition(c11200023.con2)
e2:SetTarget(c11200023.tg1)
e2:SetOperation(c11200023.op1)
c:RegisterEffect(e2)
--
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_TOSS_DICE_NEGATE)
e3:SetRange(LOCATION_MZONE)
e3:SetCondition(c11200023.con3)
e3:SetOperation(c11200023.op3)
c:RegisterEffect(e3)
--
end
--
c11200023.xig_ihs_0x132=1
--
function c11200023.mfilter(c)
return c:IsRace(RACE_BEAST) and c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsType(TYPE_MONSTER)
end
--
function c11200023.con1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local sg=c:GetMaterial()
return c:GetMaterialCount()>0 and c:IsSummonType(SUMMON_TYPE_FUSION)
and not sg:IsExists(Card.IsCode,1,nil,11200019)
end
function c11200023.con2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local sg=c:GetMaterial()
return c:GetMaterialCount()>0 and c:IsSummonType(SUMMON_TYPE_FUSION)
and sg:IsExists(Card.IsCode,1,nil,11200019)
and (Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2)
end
--
function c11200023.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_DICE,nil,0,tp,1)
end
--
function c11200023.op1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local dc=Duel.TossDice(tp,1)
if dc>0 and dc<6 then
if c:IsControler(1-tp) then return end
if c:IsImmuneToEffect(e) then return end
if Duel.GetMZoneCount(tp)<1 then return end
if not c:IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOZONE)
local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,0,0)
local nseq=math.log(s,2)
Duel.MoveSequence(c,nseq)
local sg=c:GetColumnGroup(LOCATION_MZONE)
local dg=sg:Filter(Card.IsControler,nil,1-tp)
if dg:GetCount()>0 then
Duel.BreakEffect()
Duel.Destroy(dg,REASON_EFFECT)
end
end
if dc>5 then Duel.Damage(1-tp,2000,REASON_EFFECT) end
end
--
function c11200023.con3(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsSummonType(SUMMON_TYPE_FUSION)
and c:GetFlagEffect(11200023)==0
and c:GetMaterial():IsExists(Card.IsCode,1,nil,11200065)
end
function c11200023.op3(e,tp,eg,ep,ev,re,r,rp)
local cc=Duel.GetCurrentChain()
local cid=Duel.GetChainInfo(cc,CHAININFO_CHAIN_ID)
if c11200023[0]~=cid and Duel.SelectYesNo(tp,aux.Stringid(11200023,1)) then
Duel.Hint(HINT_CARD,0,11200023)
e:GetHandler():RegisterFlagEffect(11200023,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
local dc={Duel.GetDiceResult()}
local ac=1
local ct=bit.band(ev,0xff)+bit.rshift(ev,16)
if ct>1 then
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(11200023,2))
local val,idx=Duel.AnnounceNumber(tp,table.unpack(dc,1,ct))
ac=idx+1
end
dc[ac]=7
Duel.SetDiceResult(table.unpack(dc))
c11200023[0]=cid
end
end
...@@ -23,9 +23,11 @@ function c11200024.initial_effect(c) ...@@ -23,9 +23,11 @@ function c11200024.initial_effect(c)
-- --
end end
-- --
c11200024.xig_ihs_0x132=1
--
function c11200024.tfilter1(c) function c11200024.tfilter1(c)
return c:IsCode(11200019) return c:IsCode(11200019)
or (c:IsSetCard(0x132) and c:IsAbleToHand()) or (c.xig_ihs_0x132 and c:IsAbleToHand())
end end
function c11200024.tg1(e,tp,eg,ep,ev,re,r,rp,chk) function c11200024.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c11200024.tfilter1,tp,LOCATION_DECK,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c11200024.tfilter1,tp,LOCATION_DECK,0,1,nil) end
...@@ -43,21 +45,27 @@ end ...@@ -43,21 +45,27 @@ end
function c11200024.cost2(e,tp,eg,ep,ev,re,r,rp,chk) function c11200024.cost2(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return c:IsAbleToDeckAsCost() end if chk==0 then return c:IsAbleToDeckAsCost() end
local g=Group.CreateGroup()
g:AddCard(c)
Duel.HintSelection(g)
Duel.SendtoDeck(c,nil,2,REASON_COST) Duel.SendtoDeck(c,nil,2,REASON_COST)
end end
-- --
function c11200024.tfilter2(c,e,tp) function c11200024.tfilter2(c,e,tp)
return c:IsSetCard(0x132) and c:IsType(TYPE_SPELL) and Duel.IsPlayerCanSpecialSummonMonster(tp,c:GetCode(),0x132,0x21,1100,1100,4,RACE_BEAST,ATTRIBUTE_LIGHT) return c.xig_ihs_0x132 and c:IsType(TYPE_SPELL)
and Duel.IsPlayerCanSpecialSummonMonster(tp,c:GetCode(),0x132,0x21,1100,1100,4,RACE_BEAST,ATTRIBUTE_LIGHT)
end end
function c11200024.tg2(e,tp,eg,ep,ev,re,r,rp,chk) function c11200024.tg2(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(c11200024.tfilter2,tp,LOCATION_HAND,0,1,nil,e,tp) and Duel.IsPlayerCanDraw(tp,1) end if chk==0 then return Duel.GetMZoneCount(tp)>0
and Duel.IsExistingMatchingCard(c11200024.tfilter2,tp,LOCATION_HAND,0,1,nil,e,tp)
and Duel.IsPlayerCanDraw(tp,1) end
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1) Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,0,tp,LOCATION_HAND) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,0,tp,LOCATION_HAND)
end end
-- --
function c11200024.op2(e,tp,eg,ep,ev,re,r,rp) function c11200024.op2(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end if Duel.GetMZoneCount(tp)<1 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=Duel.SelectMatchingCard(tp,c11200024.tfilter2,tp,LOCATION_HAND,0,1,1,nil,e,tp) local sg=Duel.SelectMatchingCard(tp,c11200024.tfilter2,tp,LOCATION_HAND,0,1,1,nil,e,tp)
if sg:GetCount()<1 then return end if sg:GetCount()<1 then return end
......
--『地上弹跳』 --『地上弹跳』
function c11200025.initial_effect(c) function c11200025.initial_effect(c)
--
if not c11200025.global_check then
c11200025.global_check=true
local e0=Effect.GlobalEffect()
e0:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e0:SetCode(EVENT_CHAINING)
e0:SetCondition(c11200025.con0)
e0:SetOperation(c11200025.op0)
Duel.RegisterEffect(e0,0)
end
-- --
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SPECIAL_SUMMON+CATEGORY_LEAVE_GRAVE)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,11200025) e1:SetCountLimit(1,11200025+EFFECT_COUNT_CODE_OATH)
e1:SetCost(c11200025.cost1) e1:SetCost(c11200025.cost1)
e1:SetTarget(c11200025.tg1) e1:SetTarget(c11200025.tg1)
e1:SetOperation(c11200025.op1) e1:SetOperation(c11200025.op1)
c:RegisterEffect(e1) c:RegisterEffect(e1)
-- --
if not c11200025.check then end
c11200025.check=true
local e2=Effect.GlobalEffect()
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_CHAINING)
e2:SetOperation(c11200025.op2)
Duel.RegisterEffect(e2,0)
end
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_GRAVE)
e3:SetCountLimit(1,11200125)
e3:SetCost(c11200025.cost3)
e3:SetTarget(c11200025.tg3)
e3:SetOperation(c11200025.op3)
c:RegisterEffect(e3)
-- --
c11200025.xig_ihs_0x132=1
--
function c11200025.con0(e,tp,eg,ep,ev,re,r,rp)
local rc=re:GetHandler()
return re:IsActiveType(TYPE_MONSTER)
and not (rc.xig_ihs_0x132 or rc:IsCode(11200019))
end end
-- --
function c11200025.cfilter1(c) function c11200025.op0(e,tp,eg,ep,ev,re,r,rp)
return c:IsRace(RACE_BEAST) and c:IsReleasable() Duel.RegisterFlagEffect(rp,11200025,RESET_PHASE+PHASE_END,0,1)
end end
--
function c11200025.cost1(e,tp,eg,ep,ev,re,r,rp,chk) function c11200025.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c11200025.cfilter1,tp,LOCATION_MZONE+LOCATION_HAND,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToHandAsCost,tp,LOCATION_ONFIELD,0,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local sg=Duel.SelectMatchingCard(tp,c11200025.cfilter1,tp,LOCATION_MZONE+LOCATION_HAND,0,1,1,nil) local sg=Duel.SelectMatchingCard(tp,Card.IsAbleToHandAsCost,tp,LOCATION_ONFIELD,0,1,1,e:GetHandler())
Duel.Release(sg,REASON_EFFECT) Duel.SendtoHand(sg,nil,REASON_COST)
end end
-- --
function c11200025.tfilter1(c) function c11200025.tfilter1(c,e,tp)
return c:IsAbleToHand() and c:IsSetCard(0x132) return c.xig_ihs_0x132 and c:IsType(TYPE_SPELL)
and Duel.IsPlayerCanSpecialSummonMonster(tp,c:GetCode(),0x132,0x21,1100,1100,4,RACE_BEAST,ATTRIBUTE_LIGHT)
end end
function c11200025.tg1(e,tp,eg,ep,ev,re,r,rp,chk) function c11200025.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c11200025.tfilter1,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e,tp) end local c=e:GetHandler()
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE) if chk==0 then return Duel.GetMZoneCount(tp)>0
and Duel.IsExistingMatchingCard(c11200025.tfilter1,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,e:GetHandler(),e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,0,tp,LOCATION_HAND+LOCATION_GRAVE)
end end
-- --
function c11200025.op1(e,tp,eg,ep,ev,re,r,rp) function c11200025.op1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=Duel.SelectMatchingCard(tp,c11200025.tfilter1,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if sg:GetCount()>0 then
Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg)
end
if Duel.GetMZoneCount(tp)<1 then return end if Duel.GetMZoneCount(tp)<1 then return end
if not c:IsRelateToEffect(e) then return end Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
if Duel.GetFlagEffect(tp,11200025)>0 then return end local sg=Duel.SelectMatchingCard(tp,c11200025.tfilter1,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil,e,tp)
if not Duel.IsPlayerCanSpecialSummonMonster(tp,c:GetCode(),0x132,0x21,1100,1100,4,RACE_BEAST,ATTRIBUTE_LIGHT) then return end if Duel.GetFlagEffect(tp,11200025)<1 and Duel.GetMZoneCount(tp)>1
if Duel.SelectYesNo(tp,aux.Stringid(11200025,0)) then and Duel.SelectYesNo(tp,aux.Stringid(11200025,0)) then
c:AddMonsterAttribute(TYPE_NORMAL,ATTRIBUTE_LIGHT,RACE_BEAST,4,1100,1100) sg:AddCard(c)
Duel.SpecialSummonStep(c,0,tp,tp,true,false,POS_FACEUP) end
c:AddMonsterAttributeComplete() if sg:GetCount()>0 then
local e1_1=Effect.CreateEffect(c) local sc=sg:GetFirst()
e1_1:SetType(EFFECT_TYPE_SINGLE) while sc do
e1_1:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL) sc:AddMonsterAttribute(TYPE_NORMAL,ATTRIBUTE_LIGHT,RACE_BEAST,4,1100,1100)
e1_1:SetValue(1) Duel.SpecialSummonStep(sc,0,tp,tp,true,false,POS_FACEUP)
e1_1:SetReset(RESET_EVENT+0x1fe0000) sc=sg:GetNext()
c:RegisterEffect(e1_1,true) end
local e1_2=Effect.CreateEffect(c)
e1_2:SetType(EFFECT_TYPE_SINGLE)
e1_2:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e1_2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1_2:SetReset(RESET_EVENT+0x1fe0000)
e1_2:SetValue(LOCATION_REMOVED)
c:RegisterEffect(e1_2,true)
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
end end
end end
-- --
function c11200025.op2(e,tp,eg,ep,ev,re,r,rp)
local rc=re:GetHandler()
if not re:IsActiveType(TYPE_MONSTER) then return end
Duel.RegisterFlagEffect(rc:GetControler(),11200025,RESET_PHASE+PHASE_END,0,1)
end
--
function c11200025.cost3(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToHandAsCost,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local sg=Duel.SelectMatchingCard(tp,Card.IsAbleToHandAsCost,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SendtoHand(sg,nil,REASON_COST)
end
--
function c11200025.tg3(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToHand() end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,c,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end
--
function c11200025.op3(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
Duel.SendtoHand(c,nil,REASON_EFFECT)
end
--
...@@ -35,6 +35,7 @@ function c11200026.initial_effect(c) ...@@ -35,6 +35,7 @@ function c11200026.initial_effect(c)
local e5=Effect.GlobalEffect() local e5=Effect.GlobalEffect()
e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e5:SetCode(EVENT_CHAINING) e5:SetCode(EVENT_CHAINING)
e5:SetCondition(c11200026.con5)
e5:SetOperation(c11200026.op5) e5:SetOperation(c11200026.op5)
Duel.RegisterEffect(e5,0) Duel.RegisterEffect(e5,0)
end end
...@@ -60,6 +61,8 @@ function c11200026.initial_effect(c) ...@@ -60,6 +61,8 @@ function c11200026.initial_effect(c)
-- --
end end
-- --
c11200026.xig_ihs_0x132=1
--
function c11200026.tg1(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c11200026.tg1(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsFaceup() end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsFaceup() end
if chk==0 then return Duel.IsExistingTarget(Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end if chk==0 then return Duel.IsExistingTarget(Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
...@@ -83,10 +86,14 @@ function c11200026.val4(e,c) ...@@ -83,10 +86,14 @@ function c11200026.val4(e,c)
return e:GetHandlerPlayer() return e:GetHandlerPlayer()
end end
-- --
function c11200026.op5(e,tp,eg,ep,ev,re,r,rp) function c11200026.con5(e,tp,eg,ep,ev,re,r,rp)
local rc=re:GetHandler() local rc=re:GetHandler()
if not re:IsActiveType(TYPE_MONSTER) then return end return re:IsActiveType(TYPE_MONSTER)
Duel.RegisterFlagEffect(rc:GetControler(),11200026,RESET_PHASE+PHASE_END,0,1) and not (rc.xig_ihs_0x132 or rc:IsCode(11200019))
end
--
function c11200026.op5(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(rp,11200026,RESET_PHASE+PHASE_END,0,1)
end end
-- --
function c11200026.op6(e,tp,eg,ep,ev,re,r,rp) function c11200026.op6(e,tp,eg,ep,ev,re,r,rp)
......
--幻之月 --迷途竹林
function c11200028.initial_effect(c) function c11200028.initial_effect(c)
--
if not c11200028.global_check then
c11200028.global_check=true
local e0=Effect.GlobalEffect()
e0:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e0:SetCode(EVENT_CHAINING)
e0:SetCondition(c11200028.con0)
e0:SetOperation(c11200028.op0)
Duel.RegisterEffect(e0,0)
end
-- --
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DICE+CATEGORY_SPECIAL_SUMMON+CATEGORY_SEARCH+CATEGORY_TOHAND+CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,11200028+EFFECT_COUNT_CODE_OATH) e1:SetCountLimit(1,11200028+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(c11200028.tg1)
e1:SetOperation(c11200028.op1) e1:SetOperation(c11200028.op1)
c:RegisterEffect(e1) c:RegisterEffect(e1)
-- --
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_FIELD)
e2:SetRange(LOCATION_GRAVE) e2:SetCode(EFFECT_CANNOT_SELECT_BATTLE_TARGET)
e2:SetCost(aux.bfgcost) e2:SetRange(LOCATION_FZONE)
e2:SetOperation(c11200028.op2) e2:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e2:SetValue(c11200028.val2)
c:RegisterEffect(e2) c:RegisterEffect(e2)
-- --
end local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetRange(LOCATION_FZONE)
e3:SetTargetRange(LOCATION_MZONE,0)
e3:SetTarget(c11200028.tg3)
e3:SetValue(1)
c:RegisterEffect(e3)
-- --
function c11200028.con0(e,tp,eg,ep,ev,re,r,rp) if not c11200028.global_check then
return re:IsActiveType(TYPE_MONSTER) and not re:GetHandler():IsCode(11200019) c11200028.global_check=true
end c11200028[0]=0
local ge0=Effect.CreateEffect(c)
ge0:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge0:SetCode(EVENT_PHASE_START+PHASE_DRAW)
ge0:SetOperation(c11200028.clear)
Duel.RegisterEffect(ge0,0)
end
-- --
function c11200028.op0(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(rp,11200025,0,0,0)
end end
-- --
function c11200028.tfilter1(c) c11200028.xig_ihs_0x132=1
return (c:IsCode(24094653) c11200028.xig_ihs_0x133=1
or (c:IsType(TYPE_MONSTER) and c:IsRace(RACE_BEAST) and c:IsAttribute(ATTRIBUTE_LIGHT))) --
and c:IsAbleToHand() function c11200028.clear(e,tp,eg,ep,ev,re,r,rp)
end c11200028[0]=0
function c11200028.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsPlayerCanSpecialSummonMonster(tp,c:GetCode(),0x132,0x21,1100,1100,4,RACE_BEAST,ATTRIBUTE_LIGHT)
and Duel.IsExistingMatchingCard(c11200028.tfilter1,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_DICE,nil,0,tp,1)
end end
-- --
function c11200028.ofilter1(c)
return c:IsFusionSummonableCard() and c:IsRace(RACE_BEAST) and c:IsAttribute(ATTRIBUTE_LIGHT)
end
function c11200028.op1(e,tp,eg,ep,ev,re,r,rp) function c11200028.op1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local g=Duel.GetMatchingGroup(c11200028.ofilter1,tp,0xff,0xff,nil)
local dc=Duel.TossDice(tp,1) local tc=g:GetFirst()
if dc==1 or dc==2 or dc==3 or dc==4 then while tc do
if not c:IsRelateToEffect(e) then return end if tc:GetFlagEffect(11200028)==0 then
if Duel.GetLocationCount(tp,LOCATION_MZONE)<1 then return end local e1_1=Effect.CreateEffect(e:GetHandler())
if Duel.IsPlayerCanSpecialSummonMonster(tp,c:GetCode(),0x132,0x21,1100,1100,4,RACE_BEAST,ATTRIBUTE_LIGHT) then e1_1:SetDescription(aux.Stringid(11200028,0))
c:AddMonsterAttribute(TYPE_EFFECT) e1_1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
Duel.SpecialSummonStep(c,0,tp,tp,true,false,POS_FACEUP) e1_1:SetType(EFFECT_TYPE_FIELD)
c:AddMonsterAttributeComplete() e1_1:SetCode(EFFECT_SPSUMMON_PROC)
Duel.SpecialSummonComplete() e1_1:SetRange(LOCATION_EXTRA)
end e1_1:SetValue(SUMMON_TYPE_FUSION)
elseif dc==5 or dc==6 then e1_1:SetReset(RESET_PHASE+PHASE_END)
local b1=Duel.IsExistingMatchingCard(c11200028.tfilter1,tp,LOCATION_DECK,0,1,nil) e1_1:SetCondition(c11200028.con1_1)
local b2=Duel.GetFlagEffect(tp,11200025)<1 and Duel.IsPlayerCanDraw(tp,1) e1_1:SetOperation(c11200028.op1_1)
if not (b1 or b2) then return end tc:RegisterEffect(e1_1)
local off=1 tc:RegisterFlagEffect(11200028,RESET_PHASE+PHASE_END,0,0)
local ops={}
local opval={}
if b1 then
ops[off]=aux.Stringid(11200028,0)
opval[off-1]=1
off=off+1
end
if b2 then
ops[off]=aux.Stringid(11200028,1)
opval[off-1]=2
off=off+1
end end
local op=Duel.SelectOption(tp,table.unpack(ops)) tc=g:GetNext()
local sel=opval[op] end
if sel==1 then c11200028[0]=c11200028[0]+1
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=Duel.SelectMatchingCard(tp,c11200028.tfilter1,tp,LOCATION_DECK,0,1,1,nil)
if sg:GetCount()<1 then return end
Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg)
else
Duel.Draw(tp,1,REASON_EFFECT)
end
else
end
end end
-- --
function c11200028.op2(e,tp,eg,ep,ev,re,r,rp) function c11200028.cfilter1_1(c,fc)
return c:IsAbleToRemoveAsCost() and c:IsCanBeFusionMaterial(fc) and c:IsType(TYPE_MONSTER)
end
function c11200028.con1_1(e,c)
if c11200028[0]==0 then return false end
if c==nil then return true end
local tp=c:GetControler()
local chkf=tp
local mg=Duel.GetMatchingGroup(c11200028.cfilter1_1,tp,LOCATION_HAND+LOCATION_MZONE+LOCATION_GRAVE,0,nil,c)
return c:CheckFusionMaterial(mg,nil,chkf)
end
function c11200028.op1_1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local e2_1=Effect.CreateEffect(c) local chkf=tp
e2_1:SetType(EFFECT_TYPE_FIELD) local mg=Duel.GetMatchingGroup(c11200028.cfilter1_1,tp,LOCATION_HAND+LOCATION_MZONE+LOCATION_GRAVE,0,nil,c)
e2_1:SetCode(EFFECT_UPDATE_ATTACK) local mat=Duel.SelectFusionMaterial(tp,c,mg,nil,chkf)
e2_1:SetTargetRange(LOCATION_MZONE,0) c:SetMaterial(mat)
e2_1:SetTarget(c11200028.tg2_1) Duel.Remove(mat,POS_FACEUP,REASON_FUSION+REASON_COST+REASON_MATERIAL)
e2_1:SetValue(700) local e1_1_1=Effect.CreateEffect(c)
e2_1:SetReset(RESET_PHASE+PHASE_END+RESET_OPPO_TURN) e1_1_1:SetDescription(aux.Stringid(11200028,1))
Duel.RegisterEffect(e2_1,tp) e1_1_1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CLIENT_HINT)
local e2_2=e2_1:Clone() e1_1_1:SetType(EFFECT_TYPE_SINGLE)
e2_2:SetCode(EFFECT_UPDATE_DEFENSE) e1_1_1:SetCode(EFFECT_CANNOT_TRIGGER)
Duel.RegisterEffect(e2_2,tp) e1_1_1:SetReset(RESET_EVENT+0xfe0000)
c:RegisterEffect(e1_1_1,true)
c11200028[0]=c11200028[0]-1
end end
-- --
function c11200028.tg2_1(e,c) function c11200028.val2(e,c)
return c:IsRace(RACE_BEAST) and c:IsAttribute(ATTRIBUTE_LIGHT) return c:IsFaceup() and (c.xig_ihs_0x132 or c:IsCode(11200019) or c:IsSetCard(0x621))
end end
-- --
function c11200028.tg3(e,c)
return c:IsFaceup() and (c.xig_ihs_0x132 or c:IsCode(11200019) or c:IsSetCard(0x621))
end
--
\ No newline at end of file
--腹黑兔 因幡帝
function c11200043.initial_effect(c)
--
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(11200043,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_TO_HAND)
e1:SetCountLimit(1,11200043)
e1:SetCondition(c11200043.con1)
e1:SetTarget(c11200043.tg1)
e1:SetOperation(c11200043.op1)
c:RegisterEffect(e1)
--
end
--
c11200043.xig_ihs_0x133=1
--
function c11200043.con1(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsPreviousLocation(LOCATION_DECK)
end
--
function c11200043.tfilter1(c,tp)
return c.xig_ihs_0x133 and c:IsSSetable()
and c:IsType(TYPE_SPELL+TYPE_TRAP)
and (Duel.GetLocationCount(tp,LOCATION_SZONE)>0 or c:IsType(TYPE_FIELD))
end
function c11200043.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local b1=Duel.IsExistingMatchingCard(c11200043.tfilter1,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,tp)
local b2=Duel.IsPlayerCanDraw(tp,1)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and (b1 or b2) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
end
--
function c11200043.op1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)>0 then
local off=1
local ops={}
local opval={}
local b1=Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and Duel.IsExistingMatchingCard(c11200043.tfilter1,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,tp)
local b2=Duel.IsPlayerCanDraw(tp,1)
if b1 then
ops[off]=aux.Stringid(11200043,1)
opval[off-1]=1
off=off+1
end
if b2 then
ops[off]=aux.Stringid(11200043,2)
opval[off-1]=2
off=off+1
end
local op=Duel.SelectOption(tp,table.unpack(ops))
local sel=opval[op]
if sel==1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g=Duel.SelectMatchingCard(tp,c11200043.tfilter1,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil,tp)
Duel.BreakEffect()
Duel.SSet(tp,g)
Duel.ConfirmCards(1-tp,g)
local tc=g:GetFirst()
if tc:IsPreviousLocation(LOCATION_HAND) then
if tc:IsType(TYPE_QUICKPLAY) then
local e1_1=Effect.CreateEffect(c)
e1_1:SetType(EFFECT_TYPE_SINGLE)
e1_1:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e1_1:SetCode(EFFECT_QP_ACT_IN_SET_TURN)
e1_1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1_1,true)
end
if tc:IsType(TYPE_TRAP) then
local e1_2=Effect.CreateEffect(c)
e1_2:SetType(EFFECT_TYPE_SINGLE)
e1_2:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e1_2:SetCode(EFFECT_TRAP_ACT_IN_SET_TURN)
e1_2:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1_2,true)
end
if tc:IsType(TYPE_SPELL) and not tc:IsType(TYPE_QUICKPLAY) then
local e1_3=tc:GetActivateEffect()
e1_3:SetProperty(0,EFFECT_FLAG2_COF)
e1_3:SetHintTiming(0,0x1e0+TIMING_CHAIN_END)
e1_3:SetCondition(c11200043.con1_3)
tc:RegisterFlagEffect(11200043,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1)
local e1_4=Effect.CreateEffect(c)
e1_4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1_4:SetCode(EVENT_ADJUST)
e1_4:SetOperation(c11200043.op1_4)
e1_4:SetLabelObject(tc)
Duel.RegisterEffect(e1_4,tp)
end
end
end
if sel==2 then
Duel.BreakEffect()
Duel.Draw(tp,1,REASON_EFFECT)
end
end
end
--
function c11200043.con1_3(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentChain()<1
end
function c11200043.op1_4(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject()
if tc:GetFlagEffect(11200043)>0 then return end
local e1_3_1=tc:GetActivateEffect()
e1_3_1:SetProperty(nil)
e1_3_1:SetHintTiming(0)
e1_3_1:SetCondition(aux.TRUE)
e:Reset()
end
--
--幸运的白兔 因幡帝
function c11200064.initial_effect(c)
--
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(11200064,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_TO_HAND)
e1:SetCountLimit(1,11200064)
e1:SetCondition(c11200064.con1)
e1:SetTarget(c11200064.tg1)
e1:SetOperation(c11200064.op1)
c:RegisterEffect(e1)
--
end
--
function c11200064.con1(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsPreviousLocation(LOCATION_DECK)
end
--
function c11200064.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local b1=true
local b2=Duel.IsPlayerCanDraw(tp,1)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and (b1 or b2) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
end
--
function c11200064.op1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)>0 then
local off=1
local ops={}
local opval={}
local b1=true
local b2=Duel.IsPlayerCanDraw(tp,1)
if b1 then
ops[off]=aux.Stringid(11200064,1)
opval[off-1]=1
off=off+1
end
if b2 then
ops[off]=aux.Stringid(11200064,2)
opval[off-1]=2
off=off+1
end
local op=Duel.SelectOption(tp,table.unpack(ops))
local sel=opval[op]
if sel==1 then
Duel.BreakEffect()
local e1_1=Effect.CreateEffect(c)
e1_1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1_1:SetCode(EVENT_TOSS_DICE_NEGATE)
e1_1:SetRange(LOCATION_MZONE)
e1_1:SetCondition(c11200064.con1_1)
e1_1:SetOperation(c11200064.op1_1)
c:RegisterEffect(e1_1)
end
if sel==2 then
Duel.BreakEffect()
Duel.Draw(tp,1,REASON_EFFECT)
end
end
end
--
function c11200064.con1_1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:GetFlagEffect(11200064)==0
end
function c11200064.op1_1(e,tp,eg,ep,ev,re,r,rp)
local cc=Duel.GetCurrentChain()
local cid=Duel.GetChainInfo(cc,CHAININFO_CHAIN_ID)
if c11200064[0]~=cid and Duel.SelectYesNo(tp,aux.Stringid(11200064,1)) then
Duel.Hint(HINT_CARD,0,11200064)
e:GetHandler():RegisterFlagEffect(11200064,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
local dc={Duel.GetDiceResult()}
local ac=1
local ct=bit.band(ev,0xff)+bit.rshift(ev,16)
if ct>1 then
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(11200064,2))
local val,idx=Duel.AnnounceNumber(tp,table.unpack(dc,1,ct))
ac=idx+1
end
dc[ac]=7
Duel.SetDiceResult(table.unpack(dc))
c11200064[0]=cid
end
end
--
--因幡帝
function c11200065.initial_effect(c)
--
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(11200065,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_TO_HAND)
e1:SetCountLimit(1,11200065)
e1:SetCondition(c11200065.con1)
e1:SetTarget(c11200065.tg1)
e1:SetOperation(c11200065.op1)
c:RegisterEffect(e1)
--
end
--
c11200065.xig_ihs_0x132=1
c11200065.xig_ihs_0x133=1
--
function c11200065.con1(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsPreviousLocation(LOCATION_DECK)
end
--
function c11200065.tfilter1(c,e,tp)
return c:IsType(TYPE_MONSTER)
and (c:IsSetCard(0x621) or c:IsCode(11200019))
and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c11200065.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local b1=Duel.GetMZoneCount(tp)>1
and Duel.IsExistingMatchingCard(c11200065.tfilter1,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_DECK,0,1,nil,e,tp)
local b2=Duel.IsPlayerCanDraw(tp,1)
if chk==0 then return Duel.GetMZoneCount(tp)>0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and (b1 or b2) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
end
--
function c11200065.op1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)>0 then
local off=1
local ops={}
local opval={}
local b1=Duel.GetMZoneCount(tp)>0 and Duel.IsExistingMatchingCard(c11200065.tfilter1,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_DECK,0,1,nil,e,tp)
local b2=Duel.IsPlayerCanDraw(tp,1)
if b1 then
ops[off]=aux.Stringid(11200065,1)
opval[off-1]=1
off=off+1
end
if b2 then
ops[off]=aux.Stringid(11200065,2)
opval[off-1]=2
off=off+1
end
local op=Duel.SelectOption(tp,table.unpack(ops))
local sel=opval[op]
if sel==1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g=Duel.SelectMatchingCard(tp,c11200065.tfilter1,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_DECK,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.BreakEffect()
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
if sel==2 then
Duel.BreakEffect()
Duel.Draw(tp,1,REASON_EFFECT)
end
end
end
--
--远古的欺诈师 因幡帝 --兔☆兔
function c11200066.initial_effect(c) function c11200066.initial_effect(c)
--
c:EnableReviveLimit()
aux.AddFusionProcFunRep(c,c11200066.FusFilter,2,true)
-- --
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetDescription(aux.Stringid(11200066,0))
e1:SetCode(EFFECT_MONSTER_SSET) e1:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND+CATEGORY_REMOVE+CATEGORY_LEAVE_GRAVE)
e1:SetValue(TYPE_TRAP) e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCountLimit(1,11200066)
e1:SetCondition(c11200066.con1)
e1:SetTarget(c11200066.tg1)
e1:SetOperation(c11200066.op1)
c:RegisterEffect(e1) c:RegisterEffect(e1)
-- e2=e1:Clone()
e2:SetCode(EVENT_LEAVE_FIELD)
e2:SetCondition(c11200066.con2)
c:RegisterEffect(e2)
-- --
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_DRAW) e3:SetDescription(aux.Stringid(11200066,3))
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e3:SetRange(LOCATION_GRAVE)
e3:SetCode(EVENT_TO_GRAVE) e3:SetCost(aux.bfgcost)
e3:SetCondition(c11200066.con3)
e3:SetTarget(c11200066.tg3)
e3:SetOperation(c11200066.op3) e3:SetOperation(c11200066.op3)
c:RegisterEffect(e3) c:RegisterEffect(e3)
-- --
end end
-- --
function c11200066.FusFilter(c)
-- return c:IsRace(RACE_BEAST) and c:IsAttribute(ATTRIBUTE_LIGHT)
function c11200066.tg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if not eg then return false end
local tc=eg:GetFirst()
if chkc then return chkc==tc end
if chk==0 then return ep~=tp and tc:IsFaceup() and tc:GetAttack()>=1000 and tc:IsOnField() and tc:IsCanBeEffectTarget(e)
and Duel.IsExistingMatchingCard(Card.IsSetCard,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,0xffee) end
Duel.SetTargetCard(eg)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,tc,1,0,0)
end end
-- --
function c11200066.op2(e,tp,eg,ep,ev,re,r,rp) function c11200066.con1(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst() local c=e:GetHandler()
if tc:IsFacedown() then return end return c:IsSummonType(SUMMON_TYPE_FUSION)
if not tc:IsRelateToEffect(e) then return end and c:GetMaterialCount()>0
if tc:GetAttack()<1000 then return end end
if Duel.Destroy(tc,REASON_EFFECT)<1 then return end function c11200066.con2(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SELF) local c=e:GetHandler()
local sg=Duel.SelectMatchingCard(tp,Card.IsSetCard,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,0xffee) return c:IsSummonType(SUMMON_TYPE_FUSION)
if sg:GetCount()<1 then return end
local sc=sg:GetFirst()
if sc:IsLocation(LOCATION_GRAVE) then
Duel.MoveSequence(sc,0)
Duel.ConfirmDecktop(tp,1)
else
Duel.SendtoDeck(sc,nil,0,REASON_EFFECT)
end
end end
-- --
function c11200066.con3(e,tp,eg,ep,ev,re,r,rp) function c11200066.tfilter1(c)
return c:IsType(TYPE_MONSTER) and c:IsRace(RACE_BEAST) and c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsAbleToHand() and c:GetLevel()<5
end
function c11200066.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
return c:IsPreviousLocation(LOCATION_SZONE) if chk==0 then return Duel.IsExistingMatchingCard(c11200066.tfilter1,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end
and c:IsPreviousPosition(POS_FACEDOWN) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end end
-- --
function c11200066.tg3(e,tp,eg,ep,ev,re,r,rp,chk) function c11200066.ofilter1(c,tc)
if chk==0 then return Duel.IsPlayerCanDraw(tp,1) end return c:IsCode(tc:GetCode()) and c:IsAbleToRemove()
Duel.SetTargetPlayer(tp) end
Duel.SetTargetParam(1) function c11200066.op1(e,tp,eg,ep,ev,re,r,rp)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1) local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local tg=Duel.SelectMatchingCard(tp,c11200066.tfilter1,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if tg:GetCount()<1 then return end
Duel.SendtoHand(tg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tg)
local off=1
local ops={}
local opval={}
local b1=Duel.IsExistingMatchingCard(c11200066.ofilter1,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,tg:GetFirst())
local b2=true
if b1 then
ops[off]=aux.Stringid(11200066,1)
opval[off-1]=1
off=off+1
end
if b2 then
ops[off]=aux.Stringid(11200066,2)
opval[off-1]=2
off=off+1
end
local op=Duel.SelectOption(tp,table.unpack(ops))
local sel=opval[op]
if sel==1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local lg=Duel.SelectMatchingCard(tp,c11200066.ofilter1,tp, LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,tg:GetFirst())
if lg:GetCount()<1 then return end
Duel.Remove(lg,POS_FACEUP,REASON_EFFECT)
end
if sel==2 then
if Duel.GetFlagEffect(tp,11200066)~=0 then return end
local e1_1=Effect.CreateEffect(c)
e1_1:SetDescription(aux.Stringid(11200066,2))
e1_1:SetType(EFFECT_TYPE_FIELD)
e1_1:SetTargetRange(LOCATION_HAND,0)
e1_1:SetCode(EFFECT_EXTRA_SUMMON_COUNT)
e1_1:SetTarget(aux.TargetBoolFunction(Card.IsRace,RACE_BEAST))
e1_1:SetValue(0x1)
e1_1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1_1,tp)
Duel.RegisterFlagEffect(tp,11200066,RESET_PHASE+PHASE_END,0,1)
end
end end
-- --
function c11200066.op3(e,tp,eg,ep,ev,re,r,rp) function c11200066.op3(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM) if Duel.GetFlagEffect(tp,11200066)==0 then
Duel.Draw(p,d,REASON_EFFECT) local e3_1=Effect.CreateEffect(e:GetHandler())
e3_1:SetDescription(aux.Stringid(11200066,3))
e3_1:SetType(EFFECT_TYPE_FIELD)
e3_1:SetTargetRange(LOCATION_HAND,0)
e3_1:SetCode(EFFECT_SUMMON_PROC)
e3_1:SetCountLimit(1)
e3_1:SetCondition(c11200066.con3_1)
e3_1:SetTarget(c11200066.tg3_1)
e3_1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e3_1,tp)
Duel.RegisterFlagEffect(tp,11200066,RESET_PHASE+PHASE_END,0,1)
end
end
--
function c11200066.con3_1(e,c,minc)
if c==nil then return true end
return minc==0 and Duel.GetLocationCount(c:GetControler(),LOCATION_MZONE)>0
end
function c11200066.tg3_1(e,c)
return c:IsLevelAbove(5) and c:IsRace(RACE_BEAST) and c:IsAttribute(ATTRIBUTE_LIGHT)
end end
-- --
--兔符『因幡的白兔』
function c11200067.initial_effect(c)
--
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SEARCH+CATEGORY_DRAW+CATEGORY_TODECK+CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,11200067+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(c11200067.con1)
e1:SetCost(c11200067.cost1)
e1:SetTarget(c11200067.tg1)
e1:SetOperation(c11200067.op1)
c:RegisterEffect(e1)
--
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_REMAIN_FIELD)
c:RegisterEffect(e2)
--
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_DRAW_COUNT)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetRange(LOCATION_SZONE)
e3:SetTargetRange(1,0)
e3:SetValue(2)
c:RegisterEffect(e3)
--
end
--
c11200067.xig_ihs_0x133=1
--
function c11200067.con1(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsLocation(LOCATION_HAND)
end
--
function c11200067.cfilter1(c)
return c:IsAbleToGraveAsCost() and c:IsType(TYPE_MONSTER) and c:IsRace(RACE_BEAST) and c:IsAttribute(ATTRIBUTE_LIGHT)
end
function c11200067.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c11200067.cfilter1,tp,LOCATION_HAND+LOCATION_MZONE,0,1,nil)
and Duel.IsExistingMatchingCard(Card.IsAbleToGraveAsCost,tp,LOCATION_HAND+LOCATION_MZONE,0,2,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local sg=Duel.SelectMatchingCard(tp,c11200067.cfilter1,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,nil)
local sg2=Duel.SelectMatchingCard(tp,Card.IsAbleToGraveAsCost,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,sg)
sg:Merge(sg2)
Duel.Release(sg,REASON_COST)
end
--
function c11200067.tfilter1(c)
return c:IsAbleToHand() and (c:IsCode(11200067) or c.xig_ihs_0x133)
end
function c11200067.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local b1=Duel.IsPlayerCanDraw(tp,1)
local b2=Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,0,LOCATION_ONFIELD,1,nil)
if chk==0 then return Duel.IsExistingMatchingCard(c11200067.tfilter1,tp,LOCATION_DECK,0,1,nil) and (b1 or b2) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
--
function c11200067.op1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c11200067.tfilter1,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
local off=1
local ops={}
local opval={}
local b1=Duel.IsPlayerCanDraw(tp,1)
local b2=Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,0,LOCATION_ONFIELD,1,nil)
if b1 then
ops[off]=aux.Stringid(11200067,0)
opval[off-1]=1
off=off+1
end
if b2 then
ops[off]=aux.Stringid(11200067,1)
opval[off-1]=2
off=off+1
end
local op=Duel.SelectOption(tp,table.unpack(ops))
local sel=opval[op]
if sel==1 then
Duel.BreakEffect()
Duel.Draw(tp,1,REASON_EFFECT)
end
if sel==2 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local sg=Duel.SelectMatchingCard(tp,Card.IsAbleToDeck,tp,0,LOCATION_ONFIELD,1,1,nil)
if sg:GetCount()<1 then return end
Duel.BreakEffect()
Duel.SendtoDeck(sg,nil,2,REASON_EFFECT)
end
end
end
--
--兔符『开运大纹』
function c11200068.initial_effect(c)
--
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DAMAGE+CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,11200068+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(c11200068.con1)
e1:SetTarget(c11200068.tg1)
e1:SetOperation(c11200068.op1)
c:RegisterEffect(e1)
--
end
--
c11200068.xig_ihs_0x133=1
--
function c11200068.con1(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsLocation(LOCATION_HAND)
end
--
function c11200068.tfilter1(c)
return c:IsSetCard(0x621) or c.xig_ihs_0x133 and (c:IsLocation(LOCATION_DECK) or c:IsAbleToDeck())
end
function c11200068.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local alnum=0
if Duel.GetFieldGroupCount(1-tp,LOCATION_HAND+LOCATION_ONFIELD,0)>Duel.GetFieldGroupCount(tp,LOCATION_HAND+LOCATION_ONFIELD,0) then
alnum=Duel.GetFieldGroupCount(1-tp,LOCATION_HAND+LOCATION_ONFIELD,0)-Duel.GetFieldGroupCount(tp,LOCATION_HAND+LOCATION_ONFIELD,0)
end
local b1=Duel.IsPlayerCanDraw(tp,1)
local b2=Duel.IsExistingMatchingCard(Card.IsFaceup,tp,0,LOCATION_MZONE,1,nil)
if chk==0 then return (alnum<2 or (b1 and b2))
and Duel.IsExistingMatchingCard(c11200068.tfilter1,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end
e:SetLabel(alnum)
if alnum>2 then
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,1100)
end
end
--
function c11200068.op1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local alnum=e:GetLabel()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RESOLVECARD)
local sg=Duel.SelectMatchingCard(tp,c11200068.tfilter1,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if sg:GetCount()>0 then
local tc=sg:GetFirst()
if tc:IsLocation(LOCATION_DECK) then
Duel.MoveSequence(tc,0)
else
Duel.SendtoDeck(tc,nil,0,REASON_EFFECT)
end
Duel.ConfirmDecktop(tp,1)
end
if alnum<3 then
local b1=Duel.IsPlayerCanDraw(tp,1)
local b2=true
local b3=Duel.IsExistingMatchingCard(Card.IsFaceup,tp,0,LOCATION_MZONE,1,nil)
local b4=c:IsRelateToEffect(e) and c:IsCanTurnSet()
local off=1
local ops={}
local opval={}
if b1 then
ops[off]=aux.Stringid(11200068,0)
opval[off-1]=1
off=off+1
end
if b2 then
ops[off]=aux.Stringid(11200068,1)
opval[off-1]=2
off=off+1
end
if b3 then
ops[off]=aux.Stringid(11200068,3)
opval[off-1]=3
off=off+1
end
if b4 then
ops[off]=aux.Stringid(11200068,4)
opval[off-1]=4
off=off+1
end
local op=Duel.SelectOption(tp,table.unpack(ops))
local sel=opval[op]
if sel==1 then Duel.Draw(tp,1,REASON_EFFECT) end
if sel==2 then Duel.Damage(1-tp,1100,REASON_EFFECT) end
if sel==3 then
local lg=Duel.GetFieldGroup(Card.IsFaceup,0,LOCATION_MZONE)
local lc=lg:GetFirst()
while lc do
local e1_1=Effect.CreateEffect(c)
e1_1:SetType(EFFECT_TYPE_SINGLE)
e1_1:SetCode(EFFECT_UPDATE_ATTACK)
e1_1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1_1:SetValue(-550)
lc:RegisterEffect(e1_1)
local e1_2=e1_1:Clone()
e1_1:SetCode(EFFECT_UPDATE_DEFENSE)
lc:RegisterEffect(e1_2)
lc=lg:GetNext()
end
end
if sel==4 then
c:CancelToGrave()
Duel.ChangePosition(c,POS_FACEDOWN)
Duel.RaiseEvent(c,EVENT_SSET,e,REASON_EFFECT,tp,tp,0)
end
end
if alnum>2 then
Duel.Draw(tp,1,REASON_EFFECT)
Duel.Damage(1-tp,1100,REASON_EFFECT)
local lg=Duel.GetFieldGroup(Card.IsFaceup,0,LOCATION_MZONE)
local lc=lg:GetFirst()
while lc do
local e1_1=Effect.CreateEffect(c)
e1_1:SetType(EFFECT_TYPE_SINGLE)
e1_1:SetCode(EFFECT_UPDATE_ATTACK)
e1_1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1_1:SetValue(-550)
lc:RegisterEffect(e1_1)
local e1_2=e1_1:Clone()
e1_1:SetCode(EFFECT_UPDATE_DEFENSE)
lc:RegisterEffect(e1_2)
lc=lg:GetNext()
end
if c:IsRelateToEffect(e) and c:IsCanTurnSet() then
c:CancelToGrave()
Duel.ChangePosition(c,POS_FACEDOWN)
Duel.RaiseEvent(c,EVENT_SSET,e,REASON_EFFECT,tp,tp,0)
end
end
end
--
--脱兔『Fluster Escape』
function c11200069.initial_effect(c)
--
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_TRAP_ACT_IN_HAND)
e1:SetCondition(c11200069.con1)
c:RegisterEffect(e1)
--
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_REMAIN_FIELD)
c:RegisterEffect(e2)
--
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_ACTIVATE)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetCountLimit(1,11200069+EFFECT_COUNT_CODE_OATH)
e3:SetTarget(c11200069.tg3)
e3:SetOperation(c11200069.op3)
c:RegisterEffect(e3)
--
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(11200069,0))
e4:SetCategory(CATEGORY_TODECK+CATEGORY_DRAW+CATEGORY_LEAVE_GRAVE)
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetCode(EVENT_CHAINING)
e4:SetRange(LOCATION_SZONE)
e4:SetCountLimit(1,11200169)
e4:SetCondition(c11200069.con4)
e4:SetTarget(c11200069.tg4)
e4:SetOperation(c11200069.op4)
c:RegisterEffect(e4)
--
end
--
c11200069.xig_ihs_0x132=1
c11200069.xig_ihs_0x133=1
--
function c11200069.cfilter1(c)
return not (c:IsRace(RACE_BEAST) and c:IsAttribute(ATTRIBUTE_LIGHT))
end
function c11200069.con1(e)
local c=e:GetHandler()
local tp=c:GetControler()
return not Duel.IsExistingMatchingCard(c11200069.cfilter1,tp,LOCATION_MZONE,0,1,nil)
end
--
function c11200069.tfilter3(c,e,tp)
return (c:IsSetCard(0x621) or c:IsCode(11200019) or c.xig_ihs_0x132)
and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c11200069.tg3(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.GetMZoneCount(tp)>0
and Duel.IsExistingMatchingCard(c11200069.tfilter3,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end
--
function c11200069.op3(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetMZoneCount(tp)<1 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=Duel.SelectMatchingCard(tp,c11200069.tfilter3,tp,LOCATION_DECK,0,1,1,nil,e,tp)
if sg:GetCount()<1 then return end
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
end
--
function c11200069.con4(e,tp,eg,ep,ev,re,r,rp)
local rc=re:GetHandler()
return not rc:IsSetCard(0x621)
end
--
function c11200069.tfilter4(c)
return c:IsSetCard(0x621) and c:IsAbleToDeck()
end
function c11200069.tg4(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsAbleToDeck() or Duel.IsExistingMatchingCard(c11200069.tfilter4,tp,LOCATION_GRAVE+LOCATION_MZONE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TODECK,c,1,0,LOCATION_GRAVE+LOCATION_MZONE)
end
--
function c11200069.op4(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local sg=Duel.GetFieldGroup(tp,LOCATION_GRAVE+LOCATION_MZONE,0)
local tg=sg:Filter(c11200069.tfilter4,nil)
if c:IsRelateToEffect(e) then tg:AddCard(c) end
if tg:GetCount()<1 then return end
if Duel.SendtoDeck(tg,nil,1,REASON_EFFECT)>0 then
Duel.Draw(tp,1,REASON_EFFECT)
end
end
--
--借符『大穴牟迟大人的药』
function c11200070.initial_effect(c)
--
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_TRAP_ACT_IN_HAND)
e1:SetCondition(c11200070.con1)
c:RegisterEffect(e1)
--
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_DISABLE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetType(EFFECT_TYPE_ACTIVATE)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCountLimit(1,11200070+EFFECT_COUNT_CODE_OATH)
e2:SetTarget(c11200070.tg2)
e2:SetOperation(c11200070.op2)
c:RegisterEffect(e2)
--
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_TO_GRAVE)
e3:SetRange(LOCATION_GRAVE)
e3:SetCondition(c11200070.con3)
e3:SetTarget(c11200070.tg3)
e3:SetOperation(c11200070.op3)
c:RegisterEffect(e3)
--
end
--
c11200070.xig_ihs_0x133=1
--
function c11200070.cfilter1(c)
return not (c:IsRace(RACE_BEAST) and c:IsAttribute(ATTRIBUTE_LIGHT))
end
function c11200070.con1(e)
local c=e:GetHandler()
local tp=c:GetControler()
return not Duel.IsExistingMatchingCard(c11200070.cfilter1,tp,LOCATION_MZONE,0,1,nil)
end
--
function c11200070.tg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) end
if chk==0 then return e:IsHasType(EFFECT_TYPE_ACTIVATE)
and Duel.IsExistingTarget(Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
Duel.SelectTarget(tp,Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_EQUIP,e:GetHandler(),1,0,0)
end
--
function c11200070.op2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsLocation(LOCATION_SZONE) then return end
if not c:IsRelateToEffect(e) then return end
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and tc:IsFaceup() then
Duel.Equip(tp,c,tc)
local e2_1=Effect.CreateEffect(c)
e2_1:SetType(EFFECT_TYPE_SINGLE)
e2_1:SetCode(EFFECT_EQUIP_LIMIT)
e2_1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2_1:SetValue(c11200070.val2_1)
e2_1:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e2_1)
if Duel.SelectYesNo(tp,aux.Stringid(11200070,0)) then
Duel.NegateRelatedChain(tc,RESET_TURN_SET)
local e2_2=Effect.CreateEffect(c)
e2_2:SetType(EFFECT_TYPE_SINGLE)
e2_2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2_2:SetCode(EFFECT_DISABLE)
e2_2:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e2_2)
end
c:CancelToGrave()
else
c:CancelToGrave(false)
end
end
--
function c11200070.val2_1(e,c)
return e:GetHandler():GetEquipTarget()==c
end
--
function c11200070.cfilter3(c,tp)
return c:IsSetCard(0x621) and c:IsType(TYPE_MONSTER)
end
function c11200070.con3(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c11200070.cfilter3,1,nil)
and not eg:IsContains(e:GetHandler())
end
--
function c11200070.tg3(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsSSetable() end
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,e:GetHandler(),1,0,0)
end
function c11200070.op3(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and c:IsSSetable() then
Duel.SSet(tp,c)
Duel.ConfirmCards(1-tp,c)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_REDIRECT)
e1:SetValue(LOCATION_REMOVED)
c:RegisterEffect(e1)
end
end
--
--『Ancient Duper』
function c11200071.initial_effect(c)
--
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetCountLimit(1,11200071+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(c11200071.tg1)
e1:SetOperation(c11200071.op1)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_FLIP_SUMMON_SUCCESS)
c:RegisterEffect(e2)
--
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(11200071,1))
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_SZONE)
e3:SetCountLimit(1,11200171)
e3:SetCost(c11200071.cost3)
e3:SetTarget(c11200071.tg3)
e3:SetOperation(c11200071.op3)
c:RegisterEffect(e3)
--
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_REMAIN_FIELD)
c:RegisterEffect(e4)
--
end
--
c11200071.xig_ihs_0x133=1
--
function c11200071.tg1(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if not eg then return false end
local tc=eg:GetFirst()
if chkc then return chkc==tc end
if chk==0 then return ep~=tp and tc:IsFaceup() and tc:GetAttack()>=1000 and tc:IsOnField() and tc:IsCanBeEffectTarget(e) end
Duel.SetTargetCard(eg)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,tc,1,0,0)
end
--
function c11200071.op1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=eg:GetFirst()
if tc:IsFaceup() and tc:IsRelateToEffect(e) then
Duel.NegateRelatedChain(tc,RESET_TURN_SET)
local e1_1=Effect.CreateEffect(c)
e1_1:SetDescription(aux.Stringid(11200071,0))
e1_1:SetProperty(EFFECT_FLAG_CLIENT_HINT)
e1_1:SetType(EFFECT_TYPE_SINGLE)
e1_1:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
e1_1:SetValue(1)
e1_1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1_1)
local e1_2=Effect.CreateEffect(c)
e1_2:SetType(EFFECT_TYPE_SINGLE)
e1_2:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
e1_2:SetValue(1)
e1_2:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1_2)
local e1_3=Effect.CreateEffect(c)
e1_3:SetType(EFFECT_TYPE_SINGLE)
e1_3:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
e1_3:SetValue(1)
e1_3:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1_3)
local e1_4=Effect.CreateEffect(c)
e1_4:SetType(EFFECT_TYPE_SINGLE)
e1_4:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e1_4:SetValue(1)
e1_4:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1_4)
local e1_5=Effect.CreateEffect(c)
e1_5:SetType(EFFECT_TYPE_SINGLE)
e1_5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1_5:SetCode(EFFECT_DISABLE)
e1_5:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1_5)
end
end
--
function c11200071.cost3(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end
Duel.SendtoGrave(e:GetHandler(),REASON_COST)
end
--
function c11200071.tfilter3(c,tp)
return c.xig_ihs_0x133 and c:IsType(TYPE_SPELL+TYPE_TRAP)
and (Duel.GetLocationCount(tp,LOCATION_SZONE)>0 or c:IsType(TYPE_FIELD)) and not c:IsCode(11200071)
end
function c11200071.tg3(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c11200071.tfilter3,tp,LOCATION_GRAVE,0,1,nil,tp) end
end
--
function c11200071.op3(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g=Duel.SelectMatchingCard(tp,c11200071.tfilter3,tp,LOCATION_GRAVE,0,1,1,nil,tp)
Duel.SSet(tp,g)
Duel.ConfirmCards(1-tp,g)
end
--
This diff is collapsed.
--团子
function c11200077.initial_effect(c)
--
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_RECOVER+CATEGORY_SEARCH+CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,11200077+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(c11200077.tg1)
e1:SetOperation(c11200077.op1)
c:RegisterEffect(e1)
--
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_RECOVER)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_RECOVER)
e2:SetRange(LOCATION_GRAVE)
e2:SetCondition(c11200077.con2)
e2:SetCost(c11200077.cost2)
e2:SetTarget(c11200077.tg2)
e2:SetOperation(c11200077.op2)
c:RegisterEffect(e2)
--
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_REMAIN_FIELD)
c:RegisterEffect(e3)
--
end
--
function c11200077.tfilter1(c)
return c:IsCode(11200077) and c:IsAbleToHand()
end
function c11200077.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c11200077.tfilter1,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,0,tp,LOCATION_DECK)
end
--
function c11200077.op1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.Recover(tp,1100,REASON_EFFECT)<1 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=Duel.SelectMatchingCard(tp,c11200077.tfilter1,tp,LOCATION_DECK,0,1,1,nil)
if sg:GetCount()>0 then
Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg)
end
end
--
function c11200077.con2(e,tp,eg,ep,ev,re,r,rp)
return ep==tp
end
--
function c11200077.cost2(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsAbleToDeckAsCost() end
local g=Group.CreateGroup()
g:AddCard(c)
Duel.HintSelection(g)
Duel.SendtoDeck(c,nil,2,REASON_COST)
end
--
function c11200077.tg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(1100)
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,1100)
end
--
function c11200077.op2(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Recover(p,d,REASON_EFFECT)
end
--
...@@ -64,16 +64,20 @@ end ...@@ -64,16 +64,20 @@ end
function c11200103.atkop(e,tp,eg,ep,ev,re,r,rp) function c11200103.atkop(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateAttack() Duel.NegateAttack()
end end
function c11200103.tdfilter(c)
return c:IsFaceup() and c:IsAbleToDeck()
end
function c11200103.tdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c11200103.tdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_REMOVED) and chkc:IsAbleToDeck() and chkc~=e:GetHandler() end if chkc then return chkc:IsLocation(LOCATION_REMOVED) and chkc:IsControler(tp) and c11200103.tdfilter(chkc) and chkc~=e:GetHandler() end
if chk==0 then return Duel.IsExistingTarget(Card.IsAbleToDeck,tp,LOCATION_REMOVED,0,1,e:GetHandler()) end if chk==0 then return Duel.IsExistingTarget(c11200103.tdfilter,tp,LOCATION_REMOVED,0,1,e:GetHandler())
and not e:GetHandler():IsStatus(STATUS_CHAINING) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectTarget(tp,Card.IsAbleToDeck,tp,LOCATION_REMOVED,0,1,3,e:GetHandler()) local g=Duel.SelectTarget(tp,c11200103.tdfilter,tp,LOCATION_REMOVED,0,1,3,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_TODECK,g,g:GetCount(),0,0)
end end
function c11200103.tdop(e,tp,eg,ep,ev,re,r,rp) function c11200103.tdop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
if tc:IsRelateToEffect(e) then if g:GetCount()>0 then
Duel.SendtoDeck(tc,nil,2,REASON_EFFECT) Duel.SendtoDeck(g,nil,2,REASON_EFFECT)
end end
end end
...@@ -52,7 +52,7 @@ function c1156015.lkfilter(c,lc,tp) ...@@ -52,7 +52,7 @@ function c1156015.lkfilter(c,lc,tp)
if c:IsType(TYPE_MONSTER) then if c:IsType(TYPE_MONSTER) then
return flag and c:IsRace(RACE_SPELLCASTER) return flag and c:IsRace(RACE_SPELLCASTER)
else else
return c:IsFaceup() and c:IsType(TYPE_SPELL) return c:IsFaceup() and c:IsType(TYPE_SPELL) and not c:IsHasEffect(EFFECT_CANNOT_BE_LINK_MATERIAL)
end end
end end
function c1156015.lvfilter(c) function c1156015.lvfilter(c)
......
--灾厄岩兽 雷德王 --灾厄重融合
function c14801037.initial_effect(c) function c14801037.initial_effect(c)
--to hand --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(14801037,0)) e1:SetDescription(aux.Stringid(14801037,0))
e1:SetCategory(CATEGORY_TOHAND) e1:SetCategory(CATEGORY_TODECK+CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCode(EVENT_SUMMON_SUCCESS) e1:SetTarget(c14801037.target)
e1:SetCountLimit(1,14801037) e1:SetOperation(c14801037.activate)
e1:SetTarget(c14801037.thtg) c:RegisterEffect(e1)
e1:SetOperation(c14801037.thop) --draw
c:RegisterEffect(e1) local e2=Effect.CreateEffect(c)
local e4=e1:Clone() e2:SetCategory(CATEGORY_TODECK+CATEGORY_DRAW)
e4:SetCode(EVENT_SPSUMMON_SUCCESS) e2:SetDescription(aux.Stringid(14801037,1))
c:RegisterEffect(e4) e2:SetType(EFFECT_TYPE_QUICK_O)
--spsummon e2:SetRange(LOCATION_GRAVE)
local e2=Effect.CreateEffect(c) e2:SetCode(EVENT_FREE_CHAIN)
e2:SetDescription(aux.Stringid(14801037,1)) e2:SetCountLimit(1,14801037)
e2:SetCategory(CATEGORY_TOGRAVE+CATEGORY_SPECIAL_SUMMON) e2:SetCondition(aux.exccon)
e2:SetType(EFFECT_TYPE_QUICK_O) e2:SetTarget(c14801037.tdtg)
e2:SetRange(LOCATION_MZONE) e2:SetOperation(c14801037.tdop)
e2:SetCode(EVENT_FREE_CHAIN) c:RegisterEffect(e2)
e2:SetCountLimit(1,148010371)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCondition(c14801037.spcon)
e2:SetTarget(c14801037.sptg)
e2:SetOperation(c14801037.spop)
c:RegisterEffect(e2)
--special summon
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(14801037,2))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e3:SetCode(EVENT_DESTROYED)
e3:SetCountLimit(1,148010372)
e3:SetCondition(c14801037.spbcon)
e3:SetTarget(c14801037.spbtg)
e3:SetOperation(c14801037.spbop)
c:RegisterEffect(e3)
end end
function c14801037.thfilter(c) function c14801037.filter0(c)
return (c:IsSetCard(0x4800) and c:IsType(TYPE_MONSTER)) and not c:IsCode(14801037) and c:IsAbleToHand() return (c:IsLocation(LOCATION_ONFIELD+LOCATION_GRAVE) or c:IsFaceup()) and c:IsType(TYPE_MONSTER) and c:IsCanBeFusionMaterial() and c:IsAbleToDeck()
end end
function c14801037.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function c14801037.filter1(c,e)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c14801037.thfilter(chkc) end return (c:IsLocation(LOCATION_ONFIELD+LOCATION_GRAVE) or c:IsFaceup()) and c:IsType(TYPE_MONSTER) and c:IsCanBeFusionMaterial() and c:IsAbleToDeck() and not c:IsImmuneToEffect(e)
if chk==0 then return Duel.IsExistingTarget(c14801037.thfilter,tp,LOCATION_GRAVE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectTarget(tp,c14801037.thfilter,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0)
end end
function c14801037.thop(e,tp,eg,ep,ev,re,r,rp) function c14801037.filter2(c,e,tp,m,f,chkf)
local tc=Duel.GetFirstTarget() return c:IsType(TYPE_FUSION) and c:IsSetCard(0x4800) and (not f or f(c))
if tc:IsRelateToEffect(e) then and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
Duel.SendtoHand(tc,nil,REASON_EFFECT)
end
end end
function c14801037.spcon(e,tp,eg,ep,ev,re,r,rp) function c14801037.target(e,tp,eg,ep,ev,re,r,rp,chk)
local ph=Duel.GetCurrentPhase() if chk==0 then
return not e:GetHandler():IsStatus(STATUS_CHAINING) and Duel.GetTurnPlayer()==1-tp local chkf=tp
and (ph==PHASE_MAIN1 or ph==PHASE_MAIN2) local mg=Duel.GetMatchingGroup(c14801037.filter0,tp,LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_REMOVED,0,nil)
local res=Duel.IsExistingMatchingCard(c14801037.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg,nil,chkf)
if not res then
local ce=Duel.GetChainMaterial(tp)
if ce~=nil then
local fgroup=ce:GetTarget()
local mg3=fgroup(ce,e,tp)
local mf=ce:GetValue()
res=Duel.IsExistingMatchingCard(c14801037.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg3,mf,chkf)
end
end
return res
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,tp,LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_REMOVED)
end end
function c14801037.thfilter1(c) function c14801037.activate(e,tp,eg,ep,ev,re,r,rp)
return c:IsFaceup() and (c:IsSetCard(0x4800) and c:IsType(TYPE_MONSTER)) and c:IsAbleToGrave() local chkf=tp
local mg=Duel.GetMatchingGroup(aux.NecroValleyFilter(c14801037.filter1),tp,LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_REMOVED,0,nil,e)
local sg1=Duel.GetMatchingGroup(c14801037.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg,nil,chkf)
local mg3=nil
local sg2=nil
local ce=Duel.GetChainMaterial(tp)
if ce~=nil then
local fgroup=ce:GetTarget()
mg3=fgroup(ce,e,tp)
local mf=ce:GetValue()
sg2=Duel.GetMatchingGroup(c14801037.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg3,mf,chkf)
end
if sg1:GetCount()>0 or (sg2~=nil and sg2:GetCount()>0) then
local sg=sg1:Clone()
if sg2 then sg:Merge(sg2) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=sg:Select(tp,1,1,nil)
local tc=tg:GetFirst()
if sg1:IsContains(tc) and (sg2==nil or not sg2:IsContains(tc) or not Duel.SelectYesNo(tp,ce:GetDescription())) then
local mat=Duel.SelectFusionMaterial(tp,tc,mg,nil,chkf)
tc:SetMaterial(mat)
if mat:IsExists(Card.IsFacedown,1,nil) then
local cg=mat:Filter(Card.IsFacedown,nil)
Duel.ConfirmCards(1-tp,cg)
end
Duel.SendtoDeck(mat,nil,2,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION)
Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP)
else
local mat2=Duel.SelectFusionMaterial(tp,tc,mg3,nil,chkf)
local fop=ce:GetOperation()
fop(ce,e,tp,tc,mat2)
end
tc:CompleteProcedure()
end
end end
function c14801037.thfilter2(c) function c14801037.tdtg(e,tp,eg,ep,ev,re,r,rp,chk)
return c:IsFaceup() and (c:IsSetCard(0x4800) and c:IsType(TYPE_MONSTER)) and c:IsAbleToGrave() and c:GetSequence()<5 if chk==0 then return e:GetHandler():IsAbleToDeck() and Duel.IsPlayerCanDraw(tp,1) end
end Duel.SetOperationInfo(0,CATEGORY_TODECK,e:GetHandler(),1,0,0)
function c14801037.spfilter(c,e,tp) Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
return c:IsSetCard(0x4800) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c14801037.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return false end
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if chk==0 then
local b=false
if ft>0 then
b=Duel.IsExistingTarget(c14801037.thfilter1,tp,LOCATION_ONFIELD,0,1,nil)
else
b=Duel.IsExistingTarget(c14801037.thfilter2,tp,LOCATION_MZONE,0,1,nil)
end
return b and Duel.IsExistingTarget(c14801037.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp)
end
local g1=nil
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
if ft>0 then
g1=Duel.SelectTarget(tp,c14801037.thfilter1,tp,LOCATION_ONFIELD,0,1,1,nil)
else
g1=Duel.SelectTarget(tp,c14801037.thfilter2,tp,LOCATION_MZONE,0,1,1,nil)
end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g2=Duel.SelectTarget(tp,c14801037.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,g1,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g2,1,0,0)
e:SetLabelObject(g1:GetFirst())
end
function c14801037.spop(e,tp,eg,ep,ev,re,r,rp)
local tc1,tc2=Duel.GetFirstTarget()
if tc1~=e:GetLabelObject() then tc1,tc2=tc2,tc1 end
if tc1:IsRelateToEffect(e) and Duel.SendtoGrave(tc1,REASON_EFFECT)>0
and tc1:IsLocation(LOCATION_GRAVE) and tc2:IsRelateToEffect(e) then
Duel.SpecialSummon(tc2,0,tp,tp,false,false,POS_FACEUP)
end
end
function c14801037.spbcon(e,tp,eg,ep,ev,re,r,rp)
return bit.band(r,REASON_EFFECT+REASON_BATTLE)~=0
end
function c14801037.spbfilter(c,e,tp)
return c:IsSetCard(0x4800) and not c:IsCode(14801037) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c14801037.spbtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c14801037.spbfilter(chkc,e,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingTarget(c14801037.spbfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectTarget(tp,c14801037.spbfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
end
function c14801037.spbop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
end
end end
function c14801037.tdop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SendtoDeck(c,nil,0,REASON_EFFECT)~=0 and c:IsLocation(LOCATION_DECK) then
Duel.ShuffleDeck(tp)
Duel.BreakEffect()
Duel.Draw(tp,1,REASON_EFFECT)
end
end
\ No newline at end of file
...@@ -14,9 +14,8 @@ function c14801038.initial_effect(c) ...@@ -14,9 +14,8 @@ function c14801038.initial_effect(c)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TODECK+CATEGORY_DRAW) e2:SetCategory(CATEGORY_TODECK+CATEGORY_DRAW)
e2:SetDescription(aux.Stringid(14801038,0)) e2:SetDescription(aux.Stringid(14801038,0))
e2:SetType(EFFECT_TYPE_QUICK_O) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE) e2:SetRange(LOCATION_GRAVE)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCountLimit(1,14801038) e2:SetCountLimit(1,14801038)
e2:SetCondition(aux.exccon) e2:SetCondition(aux.exccon)
e2:SetTarget(c14801038.tdtg) e2:SetTarget(c14801038.tdtg)
......
--灾厄炎双 庞墩 --灾厄魔鸟 桑德里阿斯
function c14801051.initial_effect(c) function c14801051.initial_effect(c)
--fusion material --spsummon
c:EnableReviveLimit() local e2=Effect.CreateEffect(c)
aux.AddFusionProcFun2(c,aux.FilterBoolFunction(Card.IsFusionSetCard,0x4800),aux.FilterBoolFunction(Card.IsFusionAttribute,ATTRIBUTE_FIRE),true) e2:SetDescription(aux.Stringid(14801051,0))
--spsummon condition e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
local e1=Effect.CreateEffect(c) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetType(EFFECT_TYPE_SINGLE) e2:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e2:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e1:SetCode(EFFECT_SPSUMMON_CONDITION) e2:SetCountLimit(1,14801051)
e1:SetValue(aux.fuslimit) e2:SetTarget(c14801051.target)
c:RegisterEffect(e1) e2:SetOperation(c14801051.operation)
--attackall c:RegisterEffect(e2)
local e2=Effect.CreateEffect(c) local e1=e2:Clone()
e2:SetType(EFFECT_TYPE_SINGLE) e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetCode(EFFECT_EXTRA_ATTACK) c:RegisterEffect(e1)
e2:SetValue(1) --tohand
c:RegisterEffect(e2) local e3=Effect.CreateEffect(c)
--damage e3:SetDescription(aux.Stringid(14801051,1))
local e3=Effect.CreateEffect(c) e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e3:SetDescription(aux.Stringid(14801051,0)) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCategory(CATEGORY_DAMAGE+CATEGORY_DECKDES) e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetType(EFFECT_TYPE_QUICK_O) e3:SetCode(EVENT_REMOVE)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e3:SetCountLimit(1,148010511)
e3:SetRange(LOCATION_MZONE) e3:SetTarget(c14801051.thtg)
e3:SetCode(EVENT_FREE_CHAIN) e3:SetOperation(c14801051.thop)
e3:SetCountLimit(1,14801051) c:RegisterEffect(e3)
e3:SetCondition(c14801051.damcon) local e4=e3:Clone()
e3:SetCost(c14801051.damcost) e4:SetCode(EVENT_TO_GRAVE)
e3:SetTarget(c14801051.damtg) e4:SetCondition(c14801051.thcon)
e3:SetOperation(c14801051.damop) c:RegisterEffect(e4)
c:RegisterEffect(e3)
--dambage
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(14801051,1))
e4:SetCategory(CATEGORY_DAMAGE)
e4:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_QUICK_O)
e4:SetRange(LOCATION_GRAVE)
e4:SetCode(EVENT_FREE_CHAIN)
e4:SetCountLimit(1,148010511)
e4:SetCost(aux.bfgcost)
e4:SetCondition(c14801051.dambcon)
e4:SetTarget(c14801051.dambtg)
e4:SetOperation(c14801051.dambop)
c:RegisterEffect(e4)
end end
function c14801051.damcon(e,tp,eg,ep,ev,re,r,rp) function c14801051.filter2(c,e,tp)
local ph=Duel.GetCurrentPhase() return c:IsSetCard(0x4800) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
return not e:GetHandler():IsStatus(STATUS_CHAINING) and Duel.GetTurnPlayer()==1-tp
and (ph==PHASE_MAIN1 or ph==PHASE_MAIN2)
end end
function c14801051.costfilter(c) function c14801051.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
return (c:IsSetCard(0x4800) and c:IsType(TYPE_FUSION)) and c:IsAbleToGrave() if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c14801051.filter2(chkc,e,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingTarget(c14801051.filter2,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectTarget(tp,c14801051.filter2,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
end end
function c14801051.damcost(e,tp,eg,ep,ev,re,r,rp,chk) function c14801051.operation(e,tp,eg,ep,ev,re,r,rp)
if chk==0 then return Duel.IsExistingMatchingCard(c14801051.costfilter,tp,LOCATION_EXTRA,0,1,nil) end local tc=Duel.GetFirstTarget()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE) if tc:IsRelateToEffect(e) then
local g=Duel.SelectMatchingCard(tp,c14801051.costfilter,tp,LOCATION_EXTRA,0,1,1,nil) Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
Duel.SendtoGrave(g,REASON_COST) end
end end
function c14801051.ctfilter(c) function c14801051.thcon(e,tp,eg,ep,ev,re,r,rp)
return c:IsSummonType(SUMMON_TYPE_SPECIAL) return e:GetHandler():IsReason(REASON_EFFECT)
end end
function c14801051.damtg(e,tp,eg,ep,ev,re,r,rp,chk) function c14801051.thfilter(c)
if chk==0 then return Duel.IsExistingMatchingCard(c14801051.ctfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end return c:IsSetCard(0x4800) and not c:IsCode(14801051) and c:IsAbleToHand()
local ct=Duel.GetMatchingGroupCount(c14801051.ctfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
Duel.SetTargetPlayer(1-tp)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,ct*400)
end end
function c14801051.damop(e,tp,eg,ep,ev,re,r,rp) function c14801051.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
local p=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER) if chk==0 then return Duel.IsExistingMatchingCard(c14801051.thfilter,tp,LOCATION_DECK,0,1,nil) end
local ct=Duel.GetMatchingGroupCount(c14801051.ctfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
Duel.Damage(p,ct*400,REASON_EFFECT)
end end
function c14801051.dambcon(e,tp,eg,ep,ev,re,r,rp) function c14801051.thop(e,tp,eg,ep,ev,re,r,rp)
return aux.exccon(e) and Duel.GetTurnPlayer()==1-tp and (Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
end local g=Duel.SelectMatchingCard(tp,c14801051.thfilter,tp,LOCATION_DECK,0,1,1,nil)
function c14801051.dambtg(e,tp,eg,ep,ev,re,r,rp,chk) if g:GetCount()>0 then
if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,0,0xe,1,nil) end Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.SetTargetPlayer(1-tp) Duel.ConfirmCards(1-tp,g)
local dam=Duel.GetFieldGroupCount(1-tp,0xe,0)*200 end
Duel.SetTargetParam(dam)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,dam)
end
function c14801051.dambop(e,tp,eg,ep,ev,re,r,rp)
local p=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER)
local dam=Duel.GetFieldGroupCount(1-tp,0xe,0)*200
Duel.Damage(p,dam,REASON_EFFECT)
end end
--灾厄冥硫 霍 --灾厄魔鸟 鲁格赛特
function c14801053.initial_effect(c) function c14801053.initial_effect(c)
--fusion material --link summon
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkSetCard,0x4800),2,99)
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddFusionProcFun2(c,aux.FilterBoolFunction(Card.IsFusionSetCard,0x4800),aux.FilterBoolFunction(Card.IsFusionAttribute,ATTRIBUTE_DARK),true) --destroy
--spsummon condition
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetDescription(aux.Stringid(14801053,0))
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e1:SetCategory(CATEGORY_DESTROY)
e1:SetCode(EFFECT_SPSUMMON_CONDITION) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetValue(aux.fuslimit) e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCondition(c14801053.descon)
e1:SetTarget(c14801053.destg)
e1:SetOperation(c14801053.desop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--destroy --negate
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(14801053,0)) e2:SetDescription(aux.Stringid(14801053,1))
e2:SetCategory(CATEGORY_DESTROY) e2:SetCategory(CATEGORY_NEGATE+CATEGORY_DESTROY)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e2:SetCode(EVENT_SPSUMMON_SUCCESS) e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) e2:SetRange(LOCATION_MZONE)
e2:SetCondition(c14801053.decon) e2:SetCountLimit(1,14801053)
e2:SetTarget(c14801053.destg) e2:SetCode(EVENT_CHAINING)
e2:SetOperation(c14801053.desop) e2:SetCondition(c14801053.discon)
e2:SetTarget(c14801053.distg)
e2:SetOperation(c14801053.disop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--indes --special summon
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE) e3:SetDescription(aux.Stringid(14801053,2))
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetRange(LOCATION_MZONE) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EFFECT_INDESTRUCTABLE_BATTLE) e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetValue(1) e3:SetCode(EVENT_DESTROYED)
e3:SetCountLimit(1,148010531)
e3:SetCondition(c14801053.spcon2)
e3:SetTarget(c14801053.sptg2)
e3:SetOperation(c14801053.spop2)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--negate
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(14801053,1))
e4:SetCategory(CATEGORY_NEGATE+CATEGORY_DESTROY)
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetCode(EVENT_CHAINING)
e4:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e4:SetRange(LOCATION_GRAVE)
e4:SetCountLimit(1,14801053)
e4:SetCondition(c14801053.negcon)
e4:SetCost(aux.bfgcost)
e4:SetTarget(c14801053.negtg)
e4:SetOperation(c14801053.negop)
c:RegisterEffect(e4)
end
function c14801053.decon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_FUSION)
end end
function c14801053.desfilter(c) function c14801053.descon(e,tp,eg,ep,ev,re,r,rp)
return c:IsType(TYPE_SPELL+TYPE_TRAP) return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK)
end end
function c14801053.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c14801053.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chkc then return chkc:IsOnField() and c14801053.desfilter(chkc) end local c=e:GetHandler()
if chk==0 then return Duel.IsExistingTarget(c14801053.desfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,c) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) local g=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,c)
local g=Duel.SelectTarget(tp,c14801053.desfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil) Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
end end
function c14801053.desop(e,tp,eg,ep,ev,re,r,rp) function c14801053.desop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local c=e:GetHandler()
if tc:IsRelateToEffect(e) then local g=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,c)
Duel.Destroy(tc,REASON_EFFECT) if g:GetCount()>0 then
Duel.Destroy(g,REASON_EFFECT)
end end
end end
function c14801053.negcon(e,tp,eg,ep,ev,re,r,rp) function c14801053.discon(e,tp,eg,ep,ev,re,r,rp)
return aux.exccon(e) and not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) and ep==1-tp local ph=Duel.GetCurrentPhase()
and re:IsHasType(EFFECT_TYPE_ACTIVATE) and Duel.IsChainNegatable(ev) return not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) and re:IsHasType(EFFECT_TYPE_ACTIVATE)
and Duel.IsChainNegatable(ev) and (ph>=PHASE_BATTLE_START and ph<=PHASE_BATTLE)
end end
function c14801053.negtg(e,tp,eg,ep,ev,re,r,rp,chk) function c14801053.distg(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_NEGATE,eg,1,0,0) Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
if re:GetHandler():IsDestructable() and re:GetHandler():IsRelateToEffect(re) then if re:GetHandler():IsDestructable() and re:GetHandler():IsRelateToEffect(re) then
Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,1,0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,1,0,0)
end end
end end
function c14801053.negop(e,tp,eg,ep,ev,re,r,rp) function c14801053.disop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then
Duel.Destroy(eg,REASON_EFFECT) Duel.Destroy(eg,REASON_EFFECT)
if not c:IsRelateToEffect(e) or c:IsFacedown() then return end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetProperty(EFFECT_FLAG_COPY_INHERIT)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
e1:SetValue(500)
c:RegisterEffect(e1)
end end
end end
function c14801053.spcon2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return (c:IsReason(REASON_BATTLE) or (c:GetReasonPlayer()==1-tp and c:IsReason(REASON_EFFECT) and c:GetPreviousControler()==tp))
and c:IsPreviousPosition(POS_FACEUP)
end
function c14801053.spfilter2(c,e,tp)
return c:IsSetCard(0x4800) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c14801053.sptg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c14801053.spfilter2,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end
function c14801053.spop2(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c14801053.spfilter2,tp,LOCATION_DECK,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
\ No newline at end of file
--灾厄恶兽 基路伯 --灾厄融合兽 雷霆杀手
function c14801055.initial_effect(c) function c14801055.initial_effect(c)
--spsummon c:EnableReviveLimit()
local e1=Effect.CreateEffect(c) --spsummon condition
e1:SetDescription(aux.Stringid(14801055,0)) local e0=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_FUSION_SUMMON) e0:SetType(EFFECT_TYPE_SINGLE)
e1:SetType(EFFECT_TYPE_QUICK_O) e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_HAND) e0:SetCode(EFFECT_SPSUMMON_CONDITION)
e1:SetCode(EVENT_FREE_CHAIN) c:RegisterEffect(e0)
e1:SetCountLimit(1,14801055) --handes
e1:SetCondition(c14801055.spcon) local e1=Effect.CreateEffect(c)
e1:SetTarget(c14801055.sptg) e1:SetDescription(aux.Stringid(14801003,1))
e1:SetOperation(c14801055.spop) e1:SetCategory(CATEGORY_HANDES)
c:RegisterEffect(e1) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
--damage e1:SetCode(EVENT_BATTLE_DAMAGE)
local e2=Effect.CreateEffect(c) e1:SetCondition(c14801003.condition)
e2:SetDescription(aux.Stringid(14801055,1)) e1:SetTarget(c14801003.target)
e2:SetCategory(CATEGORY_DAMAGE) e1:SetOperation(c14801003.operation)
e2:SetCode(EVENT_BATTLE_DESTROYING) c:RegisterEffect(e1)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) --disable
e2:SetCondition(c14801055.damcon) local e2=Effect.CreateEffect(c)
e2:SetTarget(c14801055.damtg) e2:SetDescription(aux.Stringid(14801003,0))
e2:SetOperation(c14801055.damop) e2:SetCategory(CATEGORY_DISABLE)
c:RegisterEffect(e2) e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCountLimit(1)
e2:SetTarget(c14801003.distg)
e2:SetOperation(c14801003.disop)
c:RegisterEffect(e2)
--indes
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e3:SetRange(LOCATION_MZONE)
e3:SetValue(1)
c:RegisterEffect(e3)
local e4=e3:Clone()
e4:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e4:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e4:SetValue(aux.tgoval)
c:RegisterEffect(e4)
end end
function c14801055.spcon(e,tp,eg,ep,ev,re,r,rp) function c14801003.condition(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase() return ep~=tp
return not e:GetHandler():IsStatus(STATUS_CHAINING) and Duel.GetTurnPlayer()==1-tp
and (ph==PHASE_MAIN1 or (ph>=PHASE_BATTLE_START and ph<=PHASE_BATTLE) or ph==PHASE_MAIN2)
end end
function c14801055.filter1(c,e) function c14801003.target(e,tp,eg,ep,ev,re,r,rp,chk)
return c:IsLocation(LOCATION_HAND) and not c:IsImmuneToEffect(e) if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_HANDES,0,0,1-tp,1)
end end
function c14801055.filter2(c,e,tp,m,f,gc,chkf) function c14801003.operation(e,tp,eg,ep,ev,re,r,rp)
return c:IsType(TYPE_FUSION) and c:IsSetCard(0x4800) and (not f or f(c)) local g=Duel.GetFieldGroup(ep,LOCATION_HAND,0)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,gc,chkf) local sg=g:RandomSelect(ep,1)
Duel.SendtoGrave(sg,REASON_DISCARD+REASON_EFFECT)
end end
function c14801055.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c14801003.disfilter(c)
local c=e:GetHandler() return c:IsFaceup() and not (c:GetAttack()==0 and c:IsDisabled())
if chk==0 then
local chkf=tp
local mg1=Duel.GetFusionMaterial(tp):Filter(Card.IsLocation,nil,LOCATION_HAND)
local res=Duel.GetLocationCountFromEx(tp)>0
and Duel.IsExistingMatchingCard(c14801055.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,c,chkf)
if not res then
local ce=Duel.GetChainMaterial(tp)
if ce~=nil then
local fgroup=ce:GetTarget()
local mg2=fgroup(ce,e,tp)
local mf=ce:GetValue()
res=Duel.IsExistingMatchingCard(c14801055.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg2,mf,c,chkf)
end
end
return res
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end end
function c14801055.spop(e,tp,eg,ep,ev,re,r,rp) function c14801003.distg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler() if chkc then return chkc:IsLocation(LOCATION_MZONE) and c14801003.disfilter(chkc) end
local chkf=tp if chk==0 then return Duel.IsExistingTarget(c14801003.disfilter,tp,0,LOCATION_MZONE,1,nil) end
if not c:IsRelateToEffect(e) or c:IsImmuneToEffect(e) then return end Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local mg1=Duel.GetFusionMaterial(tp):Filter(c14801055.filter1,nil,e) local g=Duel.SelectTarget(tp,c14801003.disfilter,tp,0,LOCATION_MZONE,1,1,nil)
local sg1=Duel.GetMatchingGroup(c14801055.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg1,nil,c,chkf) Duel.SetOperationInfo(0,CATEGORY_DISABLE,g,1,0,0)
local mg2=nil
local sg2=nil
local ce=Duel.GetChainMaterial(tp)
if ce~=nil then
local fgroup=ce:GetTarget()
mg2=fgroup(ce,e,tp)
local mf=ce:GetValue()
sg2=Duel.GetMatchingGroup(c14801055.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg2,mf,c,chkf)
end
if (Duel.GetLocationCountFromEx(tp)>0 and sg1:GetCount()>0) or (sg2~=nil and sg2:GetCount()>0) then
local sg=sg1:Clone()
if sg2 then sg:Merge(sg2) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=sg:Select(tp,1,1,nil)
local tc=tg:GetFirst()
if sg1:IsContains(tc) and (sg2==nil or not sg2:IsContains(tc) or not Duel.SelectYesNo(tp,ce:GetDescription())) then
local mat1=Duel.SelectFusionMaterial(tp,tc,mg1,c,chkf)
tc:SetMaterial(mat1)
Duel.SendtoGrave(mat1,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION)
Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP)
else
local mat2=Duel.SelectFusionMaterial(tp,tc,mg2,c,chkf)
local fop=ce:GetOperation()
fop(ce,e,tp,tc,mat2)
end
tc:CompleteProcedure()
end
end end
function c14801055.damcon(e,tp,eg,ep,ev,re,r,rp) function c14801003.disop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local bc=c:GetBattleTarget() local tc=Duel.GetFirstTarget()
return c:IsRelateToBattle() and bc:IsLocation(LOCATION_GRAVE) and bc:IsReason(REASON_BATTLE) and bc:IsType(TYPE_MONSTER) if tc:IsFaceup() and tc:IsRelateToEffect(e) then
end local e1=Effect.CreateEffect(c)
function c14801055.damtg(e,tp,eg,ep,ev,re,r,rp,chk) e1:SetType(EFFECT_TYPE_SINGLE)
if chk==0 then return true end e1:SetCode(EFFECT_SET_ATTACK_FINAL)
Duel.SetTargetPlayer(1-tp) e1:SetValue(0)
Duel.SetTargetParam(500) e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,500) tc:RegisterEffect(e1)
end local e2=Effect.CreateEffect(c)
function c14801055.damop(e,tp,eg,ep,ev,re,r,rp) e2:SetType(EFFECT_TYPE_SINGLE)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM) e2:SetCode(EFFECT_DISABLE)
Duel.Damage(p,d,REASON_EFFECT) e2:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_DISABLE_EFFECT)
e3:SetValue(RESET_TURN_SET)
e3:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e3)
if tc:IsType(TYPE_TRAPMONSTER) then
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_DISABLE_TRAPMONSTER)
e4:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e4)
end
end
end end
\ No newline at end of file
--灾厄疾兽 百慕达 --灾厄融合兽 加拉德隆王
function c14801057.initial_effect(c) function c14801057.initial_effect(c)
--special summon c:EnableReviveLimit()
local e1=Effect.CreateEffect(c) --spsummon condition
e1:SetDescription(aux.Stringid(14801057,0)) local e0=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e0:SetType(EFFECT_TYPE_SINGLE)
e1:SetType(EFFECT_TYPE_IGNITION) e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_HAND) e0:SetCode(EFFECT_SPSUMMON_CONDITION)
e1:SetCountLimit(1,14801057) c:RegisterEffect(e0)
e1:SetCondition(c14801057.spcon) --atk/def
e1:SetTarget(c14801057.sptg) local e1=Effect.CreateEffect(c)
e1:SetOperation(c14801057.spop) e1:SetType(EFFECT_TYPE_SINGLE)
c:RegisterEffect(e1) e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
--atk/def e1:SetRange(LOCATION_MZONE)
local e2=Effect.CreateEffect(c) e1:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetType(EFFECT_TYPE_FIELD) e1:SetValue(c14801057.val)
e2:SetCode(EFFECT_UPDATE_ATTACK) c:RegisterEffect(e1)
e2:SetRange(LOCATION_MZONE) local e2=e1:Clone()
e2:SetTargetRange(LOCATION_MZONE,0) e2:SetCode(EFFECT_UPDATE_DEFENSE)
e2:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x4800)) c:RegisterEffect(e2)
e2:SetValue(500) --indes
c:RegisterEffect(e2) local e3=Effect.CreateEffect(c)
local e4=e2:Clone() e3:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_UPDATE_DEFENSE) e3:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
c:RegisterEffect(e4) e3:SetRange(LOCATION_MZONE)
--tohand e3:SetValue(1)
local e3=Effect.CreateEffect(c) c:RegisterEffect(e3)
e3:SetDescription(aux.Stringid(14801057,1)) --destroy
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) local e4=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e4:SetCategory(CATEGORY_DESTROY)
e3:SetProperty(EFFECT_FLAG_DELAY) e4:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_TO_GRAVE) e4:SetCode(EVENT_BE_BATTLE_TARGET)
e3:SetCountLimit(1,148010571) e4:SetRange(LOCATION_MZONE)
e3:SetCondition(c14801057.thcon) e4:SetCountLimit(1,14801057)
e3:SetTarget(c14801057.thtg) e4:SetCondition(c14801057.descon1)
e3:SetOperation(c14801057.thop) e4:SetTarget(c14801057.destg)
c:RegisterEffect(e3) e4:SetOperation(c14801057.desop)
end c:RegisterEffect(e4)
function c14801057.cfilter(c) local e5=e4:Clone()
return c:IsFacedown() or not c:IsSetCard(0x4800) e5:SetCode(EVENT_BECOME_TARGET)
end e5:SetCondition(c14801057.descon2)
function c14801057.spcon(e,tp,eg,ep,ev,re,r,rp) c:RegisterEffect(e5)
return not Duel.IsExistingMatchingCard(c14801057.cfilter,tp,LOCATION_MZONE,0,1,nil) end
end function c14801057.val(e,c)
function c14801057.sptg(e,tp,eg,ep,ev,re,r,rp,chk) return Duel.GetMatchingGroupCount(Card.IsSetCard,c:GetControler(),LOCATION_GRAVE,0,nil,0x4800)*300
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end function c14801057.descon1(e,tp,eg,ep,ev,re,r,rp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) return eg:IsContains(e:GetHandler())
end end
function c14801057.spop(e,tp,eg,ep,ev,re,r,rp) function c14801057.descon2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() return rp==1-tp and eg:IsContains(e:GetHandler())
if c:IsRelateToEffect(e) then end
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) function c14801057.destg(e,tp,eg,ep,ev,re,r,rp,chk)
end if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,0,LOCATION_ONFIELD,1,nil)
end and not e:GetHandler():IsStatus(STATUS_CHAINING) end
function c14801057.thcon(e,tp,eg,ep,ev,re,r,rp) local g=Duel.GetMatchingGroup(aux.TRUE,tp,0,LOCATION_ONFIELD,nil)
return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD) Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0)
end end
function c14801057.thfilter(c) function c14801057.desop(e,tp,eg,ep,ev,re,r,rp)
return (c:IsSetCard(0x4800) and c:IsType(TYPE_MONSTER)) and not c:IsCode(14801057) and c:IsAbleToHand() local g=Duel.GetMatchingGroup(aux.TRUE,tp,0,LOCATION_ONFIELD,nil)
end Duel.Destroy(g,REASON_EFFECT)
function c14801057.thtg(e,tp,eg,ep,ev,re,r,rp,chk) end
if chk==0 then return Duel.IsExistingMatchingCard(c14801057.thfilter,tp,LOCATION_DECK,0,1,nil) end \ No newline at end of file
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c14801057.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c14801057.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
--灾厄深渊 古维拉 --灾厄融合兽 贝蒙杰多
function c14801059.initial_effect(c) function c14801059.initial_effect(c)
--fusion material c:EnableReviveLimit()
c:EnableReviveLimit() --spsummon condition
aux.AddFusionProcFun2(c,aux.FilterBoolFunction(Card.IsFusionSetCard,0x4800),aux.FilterBoolFunction(Card.IsFusionAttribute,ATTRIBUTE_WATER),true) local e0=Effect.CreateEffect(c)
--spsummon condition e0:SetType(EFFECT_TYPE_SINGLE)
local e1=Effect.CreateEffect(c) e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetType(EFFECT_TYPE_SINGLE) e0:SetCode(EFFECT_SPSUMMON_CONDITION)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) c:RegisterEffect(e0)
e1:SetCode(EFFECT_SPSUMMON_CONDITION) --Immune
e1:SetValue(aux.fuslimit) local e2=Effect.CreateEffect(c)
c:RegisterEffect(e1) e2:SetType(EFFECT_TYPE_SINGLE)
--pos e2:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
local e2=Effect.CreateEffect(c) e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetDescription(aux.Stringid(14801059,0)) e2:SetRange(LOCATION_MZONE)
e2:SetCategory(CATEGORY_POSITION) e2:SetValue(aux.tgoval)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) c:RegisterEffect(e2)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) local e1=e2:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS) e1:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e2:SetCondition(c14801059.pocon) e1:SetValue(1)
e2:SetCountLimit(1,14801059) c:RegisterEffect(e1)
e2:SetTarget(c14801059.postg) --pierce
e2:SetOperation(c14801059.posop) local e3=Effect.CreateEffect(c)
c:RegisterEffect(e2) e3:SetType(EFFECT_TYPE_SINGLE)
--destroy e3:SetCode(EFFECT_PIERCE)
local e3=Effect.CreateEffect(c) c:RegisterEffect(e3)
e3:SetDescription(aux.Stringid(14801059,1)) --negate
e3:SetCategory(CATEGORY_DESTROY) local e4=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e4:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EVENT_BATTLE_START) e4:SetCode(EFFECT_DISABLE)
e3:SetTarget(c14801059.targ) e4:SetRange(LOCATION_MZONE)
e3:SetOperation(c14801059.op) e4:SetTargetRange(0,LOCATION_MZONE)
c:RegisterEffect(e3) e4:SetTarget(c14801059.distg)
--disable attack c:RegisterEffect(e4)
local e4=Effect.CreateEffect(c) end
e4:SetDescription(aux.Stringid(14801059,2)) function c14801059.distg(e,c)
e4:SetType(EFFECT_TYPE_QUICK_O) return c==e:GetHandler():GetBattleTarget()
e4:SetCode(EVENT_FREE_CHAIN)
e4:SetRange(LOCATION_GRAVE)
e4:SetCode(EVENT_ATTACK_ANNOUNCE)
e4:SetCountLimit(1,148010591)
e4:SetCost(aux.bfgcost)
e4:SetCondition(c14801059.atkcon)
e4:SetOperation(c14801059.atkop)
c:RegisterEffect(e4)
end
function c14801059.pocon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_FUSION)
end
function c14801059.filters(c)
return c:IsCanChangePosition()
end
function c14801059.postg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and c14801059.filters(chkc) end
if chk==0 then return Duel.IsExistingTarget(c14801059.filters,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_POSCHANGE)
local g=Duel.SelectTarget(tp,c14801059.filters,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_POSITION,g,1,0,0)
end
function c14801059.posop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.ChangePosition(tc,POS_FACEUP_DEFENSE,POS_FACEUP_ATTACK,POS_FACEUP_ATTACK,POS_FACEUP_ATTACK)
end
end
function c14801059.targ(e,tp,eg,ep,ev,re,r,rp,chk)
local d=Duel.GetAttackTarget()
if chk ==0 then return Duel.GetAttacker()==e:GetHandler()
and d~=nil and d:IsFaceup() and d:IsDefensePos() and d:IsRelateToBattle() end
Duel.SetOperationInfo(0,CATEGORY_DESTROY,d,1,0,0)
end
function c14801059.op(e,tp,eg,ep,ev,re,r,rp)
local d=Duel.GetAttackTarget()
if d~=nil and d:IsRelateToBattle() and d:IsDefensePos() then
Duel.Destroy(d,REASON_EFFECT)
end
end
function c14801059.atkcon(e,tp,eg,ep,ev,re,r,rp)
return aux.exccon(e)
end
function c14801059.atkop(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateAttack()
end end
\ No newline at end of file
--灾厄异兽 布鲁顿 --灾厄融合龙 奇美拉柏洛斯
function c14801061.initial_effect(c) function c14801061.initial_effect(c)
--negate attack --fusion material
local e1=Effect.CreateEffect(c) c:EnableReviveLimit()
e1:SetDescription(aux.Stringid(14801061,0)) aux.AddFusionProcFunRep(c,aux.FilterBoolFunction(Card.IsSetCard,0x4800),5,true)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) --spsummon condition
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) local e1=Effect.CreateEffect(c)
e1:SetCode(EVENT_ATTACK_ANNOUNCE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetRange(LOCATION_HAND) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCountLimit(1,14801061) e1:SetCode(EFFECT_SPSUMMON_CONDITION)
e1:SetCondition(c14801061.dimcom) e1:SetValue(aux.fuslimit)
e1:SetTarget(c14801061.dimtg) c:RegisterEffect(e1)
e1:SetOperation(c14801061.dimop) --Immune
c:RegisterEffect(e1) local e2=Effect.CreateEffect(c)
--synchro effect e2:SetType(EFFECT_TYPE_SINGLE)
local e2=Effect.CreateEffect(c) e2:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e2:SetDescription(aux.Stringid(14801061,1)) e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON) e2:SetRange(LOCATION_MZONE)
e2:SetType(EFFECT_TYPE_QUICK_O) e2:SetValue(aux.tgoval)
e2:SetCode(EVENT_FREE_CHAIN) c:RegisterEffect(e2)
e2:SetRange(LOCATION_MZONE) local e3=e2:Clone()
e2:SetHintTiming(0,TIMING_BATTLE_START+TIMING_BATTLE_END) e3:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e2:SetCountLimit(1,148010611) e3:SetValue(1)
e2:SetCondition(c14801061.sccon) c:RegisterEffect(e3)
e2:SetTarget(c14801061.sctg) --Equip
e2:SetOperation(c14801061.scop) local e5=Effect.CreateEffect(c)
c:RegisterEffect(e2) e5:SetDescription(aux.Stringid(14801061,1))
--tohand e5:SetCategory(CATEGORY_EQUIP)
local e3=Effect.CreateEffect(c) e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetDescription(aux.Stringid(14801061,2)) e5:SetCode(EVENT_DESTROYED)
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e5:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e5:SetRange(LOCATION_MZONE)
e3:SetProperty(EFFECT_FLAG_DELAY) e5:SetTarget(c14801061.eqtg)
e3:SetCode(EVENT_TO_GRAVE) e5:SetOperation(c14801061.eqop)
e3:SetCountLimit(1,148010612) c:RegisterEffect(e5)
e3:SetCondition(c14801061.thcon) --Destroy
e3:SetTarget(c14801061.thtg) local e6=Effect.CreateEffect(c)
e3:SetOperation(c14801061.thop) e6:SetDescription(aux.Stringid(14801061,2))
c:RegisterEffect(e3) e6:SetCategory(CATEGORY_DESTROY)
e6:SetType(EFFECT_TYPE_IGNITION)
e6:SetRange(LOCATION_MZONE)
e6:SetCountLimit(1)
e6:SetCost(c14801061.descost)
e6:SetTarget(c14801061.destg)
e6:SetOperation(c14801061.desop)
c:RegisterEffect(e6)
end end
function c14801061.dimfilter(c) function c14801061.filter(c,e,tp)
return c:IsFaceup() and c:IsSetCard(0x4800) return c:IsType(TYPE_MONSTER) and c:IsPreviousLocation(LOCATION_MZONE) and c:GetPreviousControler()==1-tp
and c:IsLocation(LOCATION_GRAVE) and c:IsReason(REASON_EFFECT+REASON_BATTLE) and c:IsCanBeEffectTarget(e) and not c:IsForbidden()
end end
function c14801061.dimcom(e,tp,eg,ep,ev,re,r,rp) function c14801061.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local at=Duel.GetAttacker() if chkc then return eg:IsContains(chkc) and c14801061.filter(chkc,e,tp) end
return at:GetControler()==1-tp and Duel.IsExistingMatchingCard(c14801061.dimfilter,tp,LOCATION_ONFIELD,0,1,nil) if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and eg:IsExists(c14801061.filter,1,nil,e,tp) end
local g=eg:Filter(c14801061.filter,nil,e,tp)
local tc=nil
if g:GetCount()>1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
tc=g:Select(tp,1,1,nil):GetFirst()
else
tc=g:GetFirst()
end
Duel.SetTargetCard(tc)
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,tc,1,0,0)
end end
function c14801061.dimtg(e,tp,eg,ep,ev,re,r,rp,chk) function c14801061.eqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then local tc=Duel.GetFirstTarget()
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false) if c:IsRelateToEffect(e) and c:IsFaceup() and tc:IsRelateToEffect(e) then
end if not Duel.Equip(tp,tc,c,false) then return end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_EQUIP_LIMIT)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(c14801061.eqlimit)
tc:RegisterEffect(e1)
end
end end
function c14801061.dimop(e,tp,eg,ep,ev,re,r,rp) function c14801061.eqlimit(e,c)
local c=e:GetHandler() return e:GetOwner()==c
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)>0 then
Duel.NegateAttack()
end
end end
function c14801061.sccon(e,tp,eg,ep,ev,re,r,rp) function c14801061.tgfilter(c,tp)
if Duel.GetTurnPlayer()==tp then return false end return c:IsAbleToGraveAsCost()
local ph=Duel.GetCurrentPhase() and Duel.IsExistingMatchingCard(c14801061.desfilter,tp,0,LOCATION_MZONE,1,nil,c:GetRace())
return ph==PHASE_MAIN1 or (ph>=PHASE_BATTLE_START and ph<=PHASE_BATTLE) or ph==PHASE_MAIN2
end end
function c14801061.mfilter(c) function c14801061.desfilter(c,rc)
return c:IsSetCard(0x4800) return c:IsFaceup() and c:IsRace(rc)
end end
function c14801061.sctg(e,tp,eg,ep,ev,re,r,rp,chk) function c14801061.descost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then return e:GetHandler():GetEquipGroup():IsExists(c14801061.tgfilter,1,nil,tp) end
local mg=Duel.GetMatchingGroup(c14801061.mfilter,tp,LOCATION_MZONE,0,nil) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
return Duel.IsExistingMatchingCard(Card.IsSynchroSummonable,tp,LOCATION_EXTRA,0,1,nil,nil,mg) local g=e:GetHandler():GetEquipGroup():FilterSelect(tp,c14801061.tgfilter,1,1,nil,tp)
end e:SetLabel(g:GetFirst():GetRace())
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA) Duel.SendtoGrave(g,REASON_COST)
end end
function c14801061.scop(e,tp,eg,ep,ev,re,r,rp) function c14801061.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local mg=Duel.GetMatchingGroup(c14801061.mfilter,tp,LOCATION_MZONE,0,nil) if chk==0 then return true end
local g=Duel.GetMatchingGroup(Card.IsSynchroSummonable,tp,LOCATION_EXTRA,0,nil,nil,mg) local g=Duel.GetMatchingGroup(c14801061.desfilter,tp,0,LOCATION_MZONE,nil,e:GetLabel())
if g:GetCount()>0 then Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:Select(tp,1,1,nil)
Duel.SynchroSummon(tp,sg:GetFirst(),nil,mg)
end
end
function c14801061.thcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD)
end
function c14801061.thfilter(c)
return c:IsSetCard(0x4800) and not c:IsCode(14801061) and c:IsAbleToHand()
end
function c14801061.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c14801061.thfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c14801061.thfilter,tp,LOCATION_GRAVE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectTarget(tp,c14801061.thfilter,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0)
end
function c14801061.thop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
end
end end
function c14801061.desop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c14801061.desfilter,tp,0,LOCATION_MZONE,nil,e:GetLabel())
Duel.Destroy(g,REASON_EFFECT)
end
\ No newline at end of file
--灾厄守卫 金古乔 --灾厄融合
function c14801075.initial_effect(c) function c14801075.initial_effect(c)
--fusion material --Activate
c:EnableReviveLimit() local e1=Effect.CreateEffect(c)
aux.AddFusionProcFun2(c,aux.FilterBoolFunction(Card.IsFusionSetCard,0x4800),aux.FilterBoolFunction(Card.IsFusionAttribute,ATTRIBUTE_WIND),true) e1:SetDescription(aux.Stringid(14801075,0))
--spsummon condition e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON)
local e1=Effect.CreateEffect(c) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e1:SetTarget(c14801075.target)
e1:SetCode(EFFECT_SPSUMMON_CONDITION) e1:SetOperation(c14801075.activate)
e1:SetValue(aux.fuslimit) c:RegisterEffect(e1)
c:RegisterEffect(e1) --salvage
--indes local e2=Effect.CreateEffect(c)
local e2=Effect.CreateEffect(c) e2:SetCategory(CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_FIELD) e2:SetDescription(aux.Stringid(14801075,1))
e2:SetCode(EFFECT_INDESTRUCTABLE_BATTLE) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_GRAVE)
e2:SetTargetRange(LOCATION_MZONE,0) e2:SetCost(c14801075.thcost)
e2:SetTarget(c14801075.imtg) e2:SetTarget(c14801075.thtg)
e2:SetValue(1) e2:SetOperation(c14801075.thop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
c:RegisterEffect(e3)
local e4=e3:Clone()
e4:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e4:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e4:SetValue(aux.tgoval)
c:RegisterEffect(e4)
--special summon
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(14801075,0))
e5:SetCategory(CATEGORY_SPECIAL_SUMMON)
e5:SetType(EFFECT_TYPE_QUICK_O)
e5:SetCode(EVENT_FREE_CHAIN)
e5:SetRange(LOCATION_GRAVE)
e5:SetProperty(EFFECT_FLAG_CARD_TARGET)
e5:SetCondition(c14801075.spcon)
e5:SetCountLimit(1,14801075)
e5:SetCost(aux.bfgcost)
e5:SetTarget(c14801075.sptg)
e5:SetOperation(c14801075.spop)
c:RegisterEffect(e5)
end end
function c14801075.imtg(e,c) function c14801075.filter1(c,e)
return c:IsSetCard(0x4800) and not c:IsCode(14801075) return not c:IsImmuneToEffect(e)
end end
function c14801075.spcon(e,tp,eg,ep,ev,re,r,rp) function c14801075.filter2(c,e,tp,m,f,chkf)
local ph=Duel.GetCurrentPhase() return c:IsType(TYPE_FUSION) and c:IsSetCard(0x4800) and (not f or f(c))
return aux.exccon(e) and not e:GetHandler():IsStatus(STATUS_CHAINING) and Duel.GetTurnPlayer()==1-tp and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
and (ph>=PHASE_BATTLE_START and ph<=PHASE_BATTLE)
end end
function c14801075.spfilter(c,e,tp) function c14801075.target(e,tp,eg,ep,ev,re,r,rp,chk)
return ((c:IsSetCard(0x4800) and c:IsType(TYPE_FUSION)) and not c:IsCode(14801075)) and c:IsCanBeSpecialSummoned(e,0,tp,true,false) if chk==0 then
local chkf=tp
local mg1=Duel.GetFusionMaterial(tp)
local res=Duel.IsExistingMatchingCard(c14801075.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
if not res then
local ce=Duel.GetChainMaterial(tp)
if ce~=nil then
local fgroup=ce:GetTarget()
local mg2=fgroup(ce,e,tp)
local mf=ce:GetValue()
res=Duel.IsExistingMatchingCard(c14801075.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg2,mf,chkf)
end
end
return res
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end end
function c14801075.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c14801075.activate(e,tp,eg,ep,ev,re,r,rp)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c14801075.spfilter(chkc,e,tp) end local chkf=tp
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 local mg1=Duel.GetFusionMaterial(tp):Filter(c14801075.filter1,nil,e)
and Duel.IsExistingTarget(c14801075.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end local sg1=Duel.GetMatchingGroup(c14801075.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg1,nil,chkf)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) local mg2=nil
local g=Duel.SelectTarget(tp,c14801075.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp) local sg2=nil
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0) local ce=Duel.GetChainMaterial(tp)
if ce~=nil then
local fgroup=ce:GetTarget()
mg2=fgroup(ce,e,tp)
local mf=ce:GetValue()
sg2=Duel.GetMatchingGroup(c14801075.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg2,mf,chkf)
end
if sg1:GetCount()>0 or (sg2~=nil and sg2:GetCount()>0) then
local sg=sg1:Clone()
if sg2 then sg:Merge(sg2) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=sg:Select(tp,1,1,nil)
local tc=tg:GetFirst()
if sg1:IsContains(tc) and (sg2==nil or not sg2:IsContains(tc) or not Duel.SelectYesNo(tp,ce:GetDescription())) then
local mat1=Duel.SelectFusionMaterial(tp,tc,mg1,nil,chkf)
tc:SetMaterial(mat1)
Duel.SendtoGrave(mat1,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION)
Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP)
else
local mat2=Duel.SelectFusionMaterial(tp,tc,mg2,nil,chkf)
local fop=ce:GetOperation()
fop(ce,e,tp,tc,mat2)
end
tc:CompleteProcedure()
end
end end
function c14801075.spop(e,tp,eg,ep,ev,re,r,rp) function c14801075.thfilter(c)
local tc=Duel.GetFirstTarget() return c:IsSetCard(0x4800) and c:IsType(TYPE_MONSTER) and c:IsAbleToRemoveAsCost()
if tc:IsRelateToEffect(e) then
Duel.SpecialSummon(tc,0,tp,tp,true,false,POS_FACEUP)
end
end end
function c14801075.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c14801075.thfilter,tp,LOCATION_GRAVE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c14801075.thfilter,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.Remove(g,POS_FACEUP,REASON_COST)
end
function c14801075.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToHand() end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,e:GetHandler(),1,0,0)
end
function c14801075.thop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SendtoHand(c,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,c)
end
end
\ No newline at end of file
...@@ -14,9 +14,8 @@ function c14801077.initial_effect(c) ...@@ -14,9 +14,8 @@ function c14801077.initial_effect(c)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TODECK+CATEGORY_DRAW) e2:SetCategory(CATEGORY_TODECK+CATEGORY_DRAW)
e2:SetDescription(aux.Stringid(14801077,0)) e2:SetDescription(aux.Stringid(14801077,0))
e2:SetType(EFFECT_TYPE_QUICK_O) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE) e2:SetRange(LOCATION_GRAVE)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCountLimit(1,14801077) e2:SetCountLimit(1,14801077)
e2:SetCondition(aux.exccon) e2:SetCondition(aux.exccon)
e2:SetTarget(c14801077.tdtg) e2:SetTarget(c14801077.tdtg)
......
...@@ -21,9 +21,10 @@ function c24562465.initial_effect(c) ...@@ -21,9 +21,10 @@ function c24562465.initial_effect(c)
e1:SetOperation(c24562465.operation) e1:SetOperation(c24562465.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c24562465.fil2(c,e,lv1,slv) function c24562465.fil2(c,e,slv)
local lv2=c:GetLevel() local lv2=c:GetLevel()
return c:IsFaceup() and lv2>0 and lv1+lv2>=slv and c:IsAbleToRemove() and c:IsSetCard(0x9390) local lvl=e:GetHandler():GetLevel()
return c:IsFaceup() and lv2>0 and lvl+lv2>=slv and c:IsAbleToRemove() and c:IsSetCard(0x9390)
end end
function c24562465.spfil(c,e,tp,lv) function c24562465.spfil(c,e,tp,lv)
return c:IsSetCard(0x9390) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and (not lv or c:IsLevelBelow(lv)) and c:IsFaceup() return c:IsSetCard(0x9390) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and (not lv or c:IsLevelBelow(lv)) and c:IsFaceup()
...@@ -37,12 +38,12 @@ function c24562465.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -37,12 +38,12 @@ function c24562465.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if sg:GetCount()==0 then return false end if sg:GetCount()==0 then return false end
local mg,mlv=sg:GetMinGroup(Card.GetLevel) local mg,mlv=sg:GetMinGroup(Card.GetLevel)
return Duel.GetLocationCount(tp,LOCATION_MZONE)>-1 return Duel.GetLocationCount(tp,LOCATION_MZONE)>-1
and Duel.IsExistingTarget(c24562465.fil2,tp,LOCATION_MZONE,0,1,nil,e,tp,mlv,lv1,slv) and Duel.IsExistingTarget(c24562465.fil2,tp,LOCATION_MZONE,0,1,nil,e,tp,slv)
and lv1>0 and c:IsAbleToRemove() and lv1>0 and c:IsAbleToRemove()
end end
local mg,mlv=sg:GetMinGroup(Card.GetLevel) local mg,mlv=sg:GetMinGroup(Card.GetLevel)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g2=Duel.SelectTarget(tp,c24562465.fil2,tp,LOCATION_MZONE,0,1,1,nil,e,c:GetLevel(),mlv,lv1,slv) local g2=Duel.SelectTarget(tp,c24562465.fil2,tp,LOCATION_MZONE,0,1,1,nil,e,c:GetLevel(),slv)
g2:AddCard(c) g2:AddCard(c)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g2,2,0,0) Duel.SetOperationInfo(0,CATEGORY_REMOVE,g2,2,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_REMOVED) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_REMOVED)
...@@ -52,17 +53,13 @@ function c24562465.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -52,17 +53,13 @@ function c24562465.operation(e,tp,eg,ep,ev,re,r,rp)
local lv1=c:GetLevel() local lv1=c:GetLevel()
if not c:IsRelateToEffect(e) then return end if not c:IsRelateToEffect(e) then return end
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS) local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
g:AddCard(c) local tc=g:GetFirst()
local lv=0+tc:GetLevel()+c:GetLevel()
local tg=g:Filter(Card.IsRelateToEffect,nil,e) local tg=g:Filter(Card.IsRelateToEffect,nil,e)
tg:AddCard(c)
if tg:GetCount()==0 then return end if tg:GetCount()==0 then return end
Duel.Remove(tg,POS_FACEUP,REASON_EFFECT) Duel.Remove(tg,POS_FACEUP,REASON_EFFECT)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 and lv==0 then return end
local tc=tg:GetFirst()
local lv=0
if tc:IsLocation(LOCATION_REMOVED) then lv=lv+tc:GetLevel() end
tc=tg:GetNext()
if tc and tc:IsLocation(LOCATION_REMOVED) then lv=lv+tc:GetLevel() end
if lv==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g2=Duel.SelectMatchingCard(tp,c24562465.spfil,tp,LOCATION_REMOVED,0,1,1,nil,e,tp,lv) local g2=Duel.SelectMatchingCard(tp,c24562465.spfil,tp,LOCATION_REMOVED,0,1,1,nil,e,tp,lv)
local tc=g2:GetFirst() local tc=g2:GetFirst()
......
--+++++猛毒性 刺针 --+++++猛毒性 刺针
function c24562467.initial_effect(c) function c24562467.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
c:EnableCounterPermit(0x1391)
aux.AddFusionProcMix(c,true,true,24562466,c24562467.f2fil,c24562467.f3fil) aux.AddFusionProcMix(c,true,true,24562466,c24562467.f2fil,c24562467.f3fil)
--counter --counter
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -14,7 +15,7 @@ function c24562467.initial_effect(c) ...@@ -14,7 +15,7 @@ function c24562467.initial_effect(c)
e4:SetDescription(aux.Stringid(24562466,0)) e4:SetDescription(aux.Stringid(24562466,0))
e4:SetCategory(CATEGORY_DAMAGE) e4:SetCategory(CATEGORY_DAMAGE)
e4:SetType(EFFECT_TYPE_IGNITION) e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_SZONE) e4:SetRange(LOCATION_MZONE)
e4:SetCountLimit(1,24562466) e4:SetCountLimit(1,24562466)
e4:SetCondition(c24562467.e4con) e4:SetCondition(c24562467.e4con)
e4:SetCost(c24562467.e4cost) e4:SetCost(c24562467.e4cost)
...@@ -79,7 +80,7 @@ function c24562467.e4cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -79,7 +80,7 @@ function c24562467.e4cost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SendtoGrave(e:GetHandler(),REASON_COST) Duel.SendtoGrave(e:GetHandler(),REASON_COST)
end end
function c24562467.e4con(e,tp,eg,ep,ev,re,r,rp) function c24562467.e4con(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetCounter(0x9390)>=3 return e:GetHandler():GetCounter(0x1391)>=3
end end
-- --
function c24562467.e2cfil(c) function c24562467.e2cfil(c)
...@@ -88,7 +89,7 @@ end ...@@ -88,7 +89,7 @@ end
function c24562467.counter(e,tp,eg,ep,ev,re,r,rp) function c24562467.counter(e,tp,eg,ep,ev,re,r,rp)
local ct=eg:FilterCount(c24562467.e2cfil,nil) local ct=eg:FilterCount(c24562467.e2cfil,nil)
if ct>0 then if ct>0 then
e:GetHandler():AddCounter(0x9390,ct) e:GetHandler():AddCounter(0x1391,ct)
end end
end end
function c24562467.f2fil(c) function c24562467.f2fil(c)
......
...@@ -54,19 +54,18 @@ function c24562481.sptg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -54,19 +54,18 @@ function c24562481.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if dmg>0 then return true end if dmg>0 then return true end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetTargetPlayer(1-tp)
Duel.SetTargetParam(dmg*100)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,dmg*100) Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,dmg*100)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
end end
function c24562481.spop(e,tp,eg,ep,ev,re,r,rp) function c24562481.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end local dmg=Duel.GetMatchingGroupCount(c24562481.e3damfil,tp,LOCATION_REMOVED,LOCATION_REMOVED,nil)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM) if c:IsRelateToEffect(e) then
if Duel.Damage(p,d,REASON_EFFECT)~=0 then if dmg~=0 and Duel.Damage(1-tp,dmg*100,REASON_EFFECT)~=0 then
Duel.BreakEffect() Duel.BreakEffect()
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end end
end
end end
-- --
function c24562481.con(e,tp,eg,ep,ev,re,r,rp) function c24562481.con(e,tp,eg,ep,ev,re,r,rp)
......
--BLACK SQUARE
c26801001.dfc_front_side=26801000
c26801001.dfc_back1_side=26801001
function c26801001.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e1)
--back
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e0:SetCode(EVENT_ADJUST)
e0:SetRange(LOCATION_DECK+LOCATION_GRAVE+LOCATION_REMOVED+LOCATION_HAND+LOCATION_EXTRA)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_SET_AVAILABLE)
e0:SetCountLimit(1)
e0:SetCondition(c26801001.backon)
e0:SetOperation(c26801001.backop)
c:RegisterEffect(e0)
--atkup
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetRange(LOCATION_FZONE)
e2:SetTargetRange(LOCATION_MZONE,0)
e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetTarget(c26801001.target)
e2:SetValue(500)
c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EFFECT_UPDATE_DEFENSE)
c:RegisterEffect(e3)
--special summon
local e4=Effect.CreateEffect(c)
e4:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON)
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetProperty(EFFECT_FLAG_NO_TURN_RESET)
e4:SetRange(LOCATION_FZONE)
e4:SetCountLimit(1)
e4:SetTarget(c26801001.sptg)
e4:SetOperation(c26801001.spop)
c:RegisterEffect(e4)
--destroy
local e5=Effect.CreateEffect(c)
e5:SetCategory(CATEGORY_DESTROY)
e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e5:SetCode(EVENT_SPSUMMON_SUCCESS)
e5:SetRange(LOCATION_FZONE)
e5:SetCountLimit(1)
e5:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY)
e5:SetCondition(c26801001.descon)
e5:SetTarget(c26801001.destg)
e5:SetOperation(c26801001.desop)
c:RegisterEffect(e5)
end
function c26801001.backon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c.dfc_front_side and c:GetOriginalCode()==c.dfc_back1_side
end
function c26801001.backop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tcode=c.dfc_front_side
c:SetEntityCode(tcode)
c:ReplaceEffect(tcode,0,0)
end
function c26801001.target(e,c)
return c:IsFaceup() and c:IsType(TYPE_FUSION)
end
function c26801001.filter1(c,e)
return not c:IsImmuneToEffect(e)
end
function c26801001.filter2(c,e,tp,m,f,chkf)
return c:IsType(TYPE_FUSION) and (not f or f(c))
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
end
function c26801001.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local chkf=tp
local mg1=Duel.GetFusionMaterial(tp)
local res=Duel.IsExistingMatchingCard(c26801001.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg1,nil,chkf)
if not res then
local ce=Duel.GetChainMaterial(tp)
if ce~=nil then
local fgroup=ce:GetTarget()
local mg2=fgroup(ce,e,tp)
local mf=ce:GetValue()
res=Duel.IsExistingMatchingCard(c26801001.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,mg2,mf,chkf)
end
end
return res
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c26801001.spop(e,tp,eg,ep,ev,re,r,rp)
local chkf=tp
local mg1=Duel.GetFusionMaterial(tp):Filter(c26801001.filter1,nil,e)
local sg1=Duel.GetMatchingGroup(c26801001.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg1,nil,chkf)
local mg2=nil
local sg2=nil
local ce=Duel.GetChainMaterial(tp)
if ce~=nil then
local fgroup=ce:GetTarget()
mg2=fgroup(ce,e,tp)
local mf=ce:GetValue()
sg2=Duel.GetMatchingGroup(c26801001.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg2,mf,chkf)
end
if sg1:GetCount()>0 or (sg2~=nil and sg2:GetCount()>0) then
local sg=sg1:Clone()
if sg2 then sg:Merge(sg2) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=sg:Select(tp,1,1,nil)
local tc=tg:GetFirst()
if sg1:IsContains(tc) and (sg2==nil or not sg2:IsContains(tc) or not Duel.SelectYesNo(tp,ce:GetDescription())) then
local mat1=Duel.SelectFusionMaterial(tp,tc,mg1,nil,chkf)
tc:SetMaterial(mat1)
Duel.SendtoGrave(mat1,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION)
Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_FUSION,tp,tp,false,false,POS_FACEUP)
else
local mat2=Duel.SelectFusionMaterial(tp,tc,mg2,nil,chkf)
local fop=ce:GetOperation()
fop(ce,e,tp,tc,mat2)
end
tc:CompleteProcedure()
end
end
function c26801001.cfilter(c,tp)
return c:IsFaceup() and c:IsType(TYPE_FUSION) and c:IsControler(tp)
end
function c26801001.descon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c26801001.cfilter,1,nil,tp)
end
function c26801001.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() end
if chk==0 then return Duel.IsExistingTarget(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
end
function c26801001.desop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
local tc=Duel.GetFirstTarget()
if tc and tc:IsRelateToEffect(e) then
Duel.Destroy(tc,REASON_EFFECT)
end
end
--CLAZZIQUAI
c26801002.dfc_front_side=26801000
c26801002.dfc_back2_side=26801002
function c26801002.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e1)
--back
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e0:SetCode(EVENT_ADJUST)
e0:SetRange(LOCATION_DECK+LOCATION_GRAVE+LOCATION_REMOVED+LOCATION_HAND+LOCATION_EXTRA)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_SET_AVAILABLE)
e0:SetCountLimit(1)
e0:SetCondition(c26801002.backon)
e0:SetOperation(c26801002.backop)
c:RegisterEffect(e0)
--indes
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_INDESTRUCTABLE_COUNT)
e2:SetRange(LOCATION_FZONE)
e2:SetTargetRange(LOCATION_MZONE,0)
e2:SetTarget(c26801002.target)
e2:SetValue(c26801002.indct)
c:RegisterEffect(e2)
--special summon
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(26801002,0))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetProperty(EFFECT_FLAG_NO_TURN_RESET)
e3:SetRange(LOCATION_FZONE)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetHintTiming(0,TIMING_BATTLE_START+TIMING_BATTLE_END)
e3:SetCountLimit(1)
e3:SetCondition(c26801002.sccon)
e3:SetTarget(c26801002.sctg)
e3:SetOperation(c26801002.scop)
c:RegisterEffect(e3)
--draw
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(26801002,1))
e4:SetCategory(CATEGORY_DRAW)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e4:SetCode(EVENT_BATTLE_DESTROYING)
e4:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e4:SetRange(LOCATION_FZONE)
e4:SetCountLimit(1)
e4:SetCondition(c26801002.drcon)
e4:SetTarget(c26801002.drtg)
e4:SetOperation(c26801002.drop)
c:RegisterEffect(e4)
end
function c26801002.backon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c.dfc_front_side and c:GetOriginalCode()==c.dfc_back2_side
end
function c26801002.backop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tcode=c.dfc_front_side
c:SetEntityCode(tcode)
c:ReplaceEffect(tcode,0,0)
end
function c26801002.target(e,c)
return c:IsType(TYPE_SYNCHRO)
end
function c26801002.indct(e,re,r,rp)
if bit.band(r,REASON_BATTLE+REASON_EFFECT)~=0 then
return 1
else return 0 end
end
function c26801002.sccon(e,tp,eg,ep,ev,re,r,rp)
return (Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE)
end
function c26801002.sctg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsSynchroSummonable,tp,LOCATION_EXTRA,0,1,nil,nil) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c26801002.scop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsSynchroSummonable,tp,LOCATION_EXTRA,0,nil,nil)
if g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:Select(tp,1,1,nil)
Duel.SynchroSummon(tp,sg:GetFirst(),nil)
end
end
function c26801002.drcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local rc=eg:GetFirst()
return rc:IsRelateToBattle() and rc:IsStatus(STATUS_OPPO_BATTLE)
and rc:IsFaceup() and rc:IsRace(RACE_SPELLCASTER) and rc:IsControler(tp)
end
function c26801002.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp,1) end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(1)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
function c26801002.drop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Draw(p,d,REASON_EFFECT)
end
--PORTABLE 3
c26801003.dfc_front_side=26801000
c26801003.dfc_back3_side=26801003
function c26801003.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e1)
--back
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e0:SetCode(EVENT_ADJUST)
e0:SetRange(LOCATION_DECK+LOCATION_GRAVE+LOCATION_REMOVED+LOCATION_HAND+LOCATION_EXTRA)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_SET_AVAILABLE)
e0:SetCountLimit(1)
e0:SetCondition(c26801003.backon)
e0:SetOperation(c26801003.backop)
c:RegisterEffect(e0)
--cannot be target
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e2:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetRange(LOCATION_FZONE)
e2:SetTargetRange(LOCATION_MZONE,0)
e2:SetCondition(c26801003.tgcon)
e2:SetTarget(c26801003.tglimit)
e2:SetValue(aux.tgoval)
c:RegisterEffect(e2)
--special summon
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(26801003,0))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetProperty(EFFECT_FLAG_NO_TURN_RESET+EFFECT_FLAG_CARD_TARGET)
e3:SetRange(LOCATION_FZONE)
e3:SetCountLimit(1)
e3:SetTarget(c26801003.target)
e3:SetOperation(c26801003.activate)
c:RegisterEffect(e3)
--search
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(26801003,0))
e4:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_FZONE)
e4:SetCountLimit(1)
e4:SetCost(c26801003.thcost)
e4:SetTarget(c26801003.thtg)
e4:SetOperation(c26801003.thop)
c:RegisterEffect(e4)
end
function c26801003.backon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c.dfc_front_side and c:GetOriginalCode()==c.dfc_back3_side
end
function c26801003.backop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tcode=c.dfc_front_side
c:SetEntityCode(tcode)
c:ReplaceEffect(tcode,0,0)
end
function c26801003.tgcon(e)
return Duel.GetCurrentPhase()==PHASE_MAIN1 and Duel.GetTurnPlayer()==e:GetHandlerPlayer()
end
function c26801003.tglimit(e,c)
return c:IsType(TYPE_XYZ)
end
function c26801003.filter(c,e,tp)
return c:IsCanBeEffectTarget(e) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c26801003.xyzfilter(c,mg,ct)
return c:IsXyzSummonable(mg,2,ct)
end
function c26801003.mfilter1(c,mg,exg,ct)
return mg:IsExists(c26801003.mfilter2,1,nil,Group.FromCards(c),mg,exg,ct)
end
function c26801003.mfilter2(c,g,mg,exg,ct)
local tc=g:GetFirst()
while tc do
if c:IsCode(tc:GetCode()) then return false end
tc=g:GetNext()
end
g:AddCard(c)
local result=exg:IsExists(Card.IsXyzSummonable,1,nil,g,g:GetCount(),g:GetCount())
or (g:GetCount()<ct and mg:IsExists(c26801003.mfilter2,1,nil,g,mg,exg,ct))
g:RemoveCard(c)
return result
end
function c26801003.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return false end
local mg=Duel.GetMatchingGroup(c26801003.filter,tp,LOCATION_GRAVE,0,nil,e,tp)
local ct=Duel.GetLocationCount(tp,LOCATION_MZONE)
local exg=Duel.GetMatchingGroup(c26801003.xyzfilter,tp,LOCATION_EXTRA,0,nil,mg,ct)
if chk==0 then return Duel.IsPlayerCanSpecialSummonCount(tp,2)
and not Duel.IsPlayerAffectedByEffect(tp,59822133)
and ct>1 and mg:IsExists(c26801003.mfilter1,1,nil,mg,exg,ct) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg1=mg:FilterSelect(tp,c26801003.mfilter1,1,1,nil,mg,exg,ct)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg2=mg:FilterSelect(tp,c26801003.mfilter2,1,1,nil,sg1,mg,exg,ct)
sg1:Merge(sg2)
while sg1:GetCount()<ct and mg:IsExists(c26801003.mfilter2,1,nil,sg1,mg,exg,ct)
and (not exg:IsExists(Card.IsXyzSummonable,1,nil,sg1,sg1:GetCount(),sg1:GetCount()) or Duel.SelectYesNo(tp,aux.Stringid(26801003,0))) do
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg3=mg:FilterSelect(tp,c26801003.mfilter2,1,1,nil,sg1,mg,exg,ct)
sg1:Merge(sg3)
end
Duel.SetTargetCard(sg1)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,sg1,sg1:GetCount(),0,0)
end
function c26801003.filter2(c,e,tp)
return c:IsRelateToEffect(e) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c26801003.spfilter(c,mg,ct)
return c:IsXyzSummonable(mg,ct,ct)
end
function c26801003.activate(e,tp,eg,ep,ev,re,r,rp)
if Duel.IsPlayerAffectedByEffect(tp,59822133) then return end
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(c26801003.filter2,nil,e,tp)
local ct=Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
local xyzg=Duel.GetMatchingGroup(c26801003.spfilter,tp,LOCATION_EXTRA,0,nil,g,ct)
if ct>=2 and xyzg:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local xyz=xyzg:Select(tp,1,1,nil):GetFirst()
Duel.XyzSummon(tp,xyz,g)
end
end
function c26801003.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil) end
Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD)
end
function c26801003.thfilter(c)
return c:IsSetCard(0x95) and c:IsType(TYPE_SPELL) and c:IsAbleToHand()
end
function c26801003.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c26801003.thfilter,tp,LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE)
end
function c26801003.thop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(c26801003.thfilter),tp,LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
...@@ -43,7 +43,7 @@ function cm.initial_effect(c) ...@@ -43,7 +43,7 @@ function cm.initial_effect(c)
e5:SetRange(LOCATION_FZONE) e5:SetRange(LOCATION_FZONE)
e5:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON) e5:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e5:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e5:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e5:SetValue(cm.sumlimit) e5:SetTarget(cm.sumlimit)
e5:SetTargetRange(0,1) e5:SetTargetRange(0,1)
c:RegisterEffect(e5) c:RegisterEffect(e5)
local e6=e5:Clone() local e6=e5:Clone()
...@@ -107,7 +107,7 @@ function cm.rop(e,tp,eg,ep,ev,re,r,rp) ...@@ -107,7 +107,7 @@ function cm.rop(e,tp,eg,ep,ev,re,r,rp)
c:ReleaseRelation(tc) c:ReleaseRelation(tc)
tc:ReleaseRelation(c) tc:ReleaseRelation(c)
end end
function cm.sumlimit(e,rc,sump,sumtype,sumpos,targetp) function cm.sumlimit(e,rc,sump,sumtype,sumpos,targetp,se)
local c=e:GetHandler() local c=e:GetHandler()
return c:IsRelateToCard(rc) and rc:IsRelateToCard(c) return c:IsRelateToCard(rc) and rc:IsRelateToCard(c)
end end
......
...@@ -199,7 +199,7 @@ function cm.tktg2(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -199,7 +199,7 @@ function cm.tktg2(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function cm.tkop2(e,tp,eg,ep,ev,re,r,rp) function cm.tkop2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_MZONE)>=4 and Duel.IsPlayerCanSpecialSummonMonster(tp,43330026,0,0x4011,1000,2000,4,RACE_MACHINE,ATTRIBUTE_DARK) and not Duel.IsPlayerAffectedByEffect(tp,59822133) then if Duel.GetLocationCount(tp,LOCATION_MZONE)>=4 and Duel.IsPlayerCanSpecialSummonMonster(tp,33310026,0,0x4011,1000,2000,4,RACE_MACHINE,ATTRIBUTE_DARK) and not Duel.IsPlayerAffectedByEffect(tp,59822133) then
for i=1,4 do for i=1,4 do
local token=Duel.CreateToken(tp,33310026) local token=Duel.CreateToken(tp,33310026)
Duel.SpecialSummonStep(token,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummonStep(token,0,tp,tp,false,false,POS_FACEUP)
...@@ -258,7 +258,7 @@ function cm.atkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -258,7 +258,7 @@ function cm.atkop(e,tp,eg,ep,ev,re,r,rp)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK) e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetReset(RESET_EVENT+0x1fe0000) e1:SetReset(RESET_EVENT+0x1fe0000)
e1:SetValue(500) e1:SetValue(300)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
end end
end end
......
...@@ -76,7 +76,7 @@ function cm.drop(e,tp,eg,ep,ev,re,r,rp) ...@@ -76,7 +76,7 @@ function cm.drop(e,tp,eg,ep,ev,re,r,rp)
if tg:GetCount()<=0 or not Duel.IsPlayerCanDraw(tp,1) or not Duel.SelectYesNo(1-tp,aux.Stringid(m,1)) then return end if tg:GetCount()<=0 or not Duel.IsPlayerCanDraw(tp,1) or not Duel.SelectYesNo(1-tp,aux.Stringid(m,1)) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
Duel.BreakEffect() Duel.BreakEffect()
local dg2=dg:Select(1-tp,1,1,nil) local dg2=tg:Select(1-tp,1,1,nil)
if Duel.SendtoHand(dg2,1-tp,REASON_EFFECT)~=0 then if Duel.SendtoHand(dg2,1-tp,REASON_EFFECT)~=0 then
Duel.ConfirmCards(tp,dg2) Duel.ConfirmCards(tp,dg2)
Duel.Draw(tp,1,REASON_EFFECT) Duel.Draw(tp,1,REASON_EFFECT)
......
...@@ -72,7 +72,7 @@ function c65010510.tkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -72,7 +72,7 @@ function c65010510.tkop(e,tp,eg,ep,ev,re,r,rp)
e1:SetCode(EFFECT_CANNOT_ACTIVATE) e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
e1:SetTarget(c65010510.aclimit) e1:SetValue(c65010510.aclimit)
e1:SetLabel(dc:GetCode()) e1:SetLabel(dc:GetCode())
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
......
--URBEX HINDER-暴食者 --URBEX HINDER-暴食者
function c65010515.initial_effect(c) if not pcall(function() require("expansions/script/c10199990") end) then require("script/c10199990") end
--link summon local m=65010515
aux.AddLinkProcedure(c,nil,2,99,c65010514.lcheck) local cm=_G["c"..m]
function cm.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
--link summon c:AddLinkProcedure(nil,2,3,cm.gf)
local e1=Effect.CreateEffect(c) local e1=rsef.QO(c,nil,{m,1},{1,m},"sp",nil,LOCATION_MZONE,rscon.phmp,nil,rsop.target2(cm.fun,cm.lfilter,"sp",LOCATION_EXTRA),cm.spop)
e1:SetDescription(aux.Stringid(65741786,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_MAIN_END)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,65741786)
e1:SetCondition(c65741786.lkcon)
e1:SetTarget(c65741786.lktg)
e1:SetOperation(c65741786.lkop)
c:RegisterEffect(e1)
end end
c65010514.setname="URBEX" cm.rssetcode=="URBEX"
function c65010514.lcfil(c) function cm.gf(g)
return c.setname=="URBEX" return g:IsExists(rscf.CheckSetCard,1,nil,"URBEX")
end end
function c65741786.lkcon(e,tp,eg,ep,ev,re,r,rp) function cm.lfilter(c,e,tp)
return Duel.GetTurnPlayer()~=tp local rc=e:GetHandler()
and (Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2) local ct=rc:GetMutualLinkedGroupCount()
local g=Duel.GetMatchingGroup(cm.mfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil,tp)
return g:CheckSubGroup(cm.gfilter,1,99,c,rc,tp,ct)
end end
function c65010515.lkfil(c,mc) function cm.gfilter(g,lc,mc,tp,ct)
return c:IsLinkSummonable(nil,mc) and c.setname=="URBEX" return g:IsContains(mc) and g:FilterCount(Card.IsControler,nil,1-tp)<=ct and lc:IsLinkSummonable(g,nil,#g,#g) and lc:CheckSetCard("URBEX")
end end
function c65741786.lktg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.mfilter(c,tp)
local m=0 return c:IsControler(tp) or (c:IsSummonType(SUMMON_TYPE_SPECIAL) and c:GetSummonLocation()==LOCATION_EXTRA)
end
function cm.fun(g,e,tp)
if e:GetHandler():GetMutualLinkedGroupCount()>0 then if e:GetHandler():GetMutualLinkedGroupCount()>0 then
e:SetLabel(1)
else
e:SetLabel(0)
end end
if chk==0 then return Duel.IsExistingMatchingCard(c65010515.lkfil,tp,LOCATION_EXTRA,0,1,nil,e:GetHandler()) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end end
function c65741786.lkop(e,tp,eg,ep,ev,re,r,rp) function cm.lfilter2(c,g,rc,tp,ct)
local c=e:GetHandler() return g:CheckSubGroup(cm.gfilter,1,99,c,rc,tp,ct)
if c:IsControler(1-tp) or not c:IsRelateToEffect(e) then return end end
local g=Duel.GetMatchingGroup(c65010515.lkfil,tp,LOCATION_EXTRA,0,nil,c) function cm.spop(e,tp)
if g:GetCount()>0 then local c=rscf.GetRelationThisCard(e)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) if not c then return end
local sg=g:Select(tp,1,1,nil) local ct=e:GetLabel()==1 and c:GetMutualLinkedGroupCount() or 0
Duel.LinkSummon(tp,sg:GetFirst(),nil,c) local g=Duel.GetMatchingGroup(cm.mfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil,tp)
end rsof.SelectHint(tp,"sp")
local lc=Duel.SelectMatchingCard(tp,cm.lfilter2,tp,LOCATION_EXTRA,0,1,1,nil,g,c,tp,ct):GetFirst()
if not lc then return end
rsof.SelectHint(tp,HINTMSG_LMATERIAL)
local mg=g:SelectSubGroup(tp,cm.gfilter,false,1,99,lc,c,tp,ct)
Duel.LinkSummon(tp,lc,mg)
end end
\ No newline at end of file
...@@ -6,7 +6,8 @@ function c65010516.initial_effect(c) ...@@ -6,7 +6,8 @@ function c65010516.initial_effect(c)
--effect --effect
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,65010516) e1:SetCountLimit(1,65010516)
e1:SetCost(c65010516.rmcost) e1:SetCost(c65010516.rmcost)
......
...@@ -72,7 +72,7 @@ function c65020023.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -72,7 +72,7 @@ function c65020023.activate(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.SelectMatchingCard(tp,Card.IsFaceup,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,e:GetHandler()) local g=Duel.SelectMatchingCard(tp,Card.IsFaceup,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,e:GetHandler())
Duel.HintSelection(g) Duel.HintSelection(g)
local gc=g:GetFirst() local gc=g:GetFirst()
gc:AddCounter(0x11da,1) gc:AddCounter(0x1da1,1)
end end
if c:IsRelateToEffect(e) and c:IsCanTurnSet() then if c:IsRelateToEffect(e) and c:IsCanTurnSet() then
Duel.BreakEffect() Duel.BreakEffect()
......
...@@ -76,7 +76,7 @@ function c65020024.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -76,7 +76,7 @@ function c65020024.activate(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.SelectMatchingCard(tp,Card.IsFaceup,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,e:GetHandler()) local g=Duel.SelectMatchingCard(tp,Card.IsFaceup,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,e:GetHandler())
Duel.HintSelection(g) Duel.HintSelection(g)
local gc=g:GetFirst() local gc=g:GetFirst()
gc:AddCounter(0x11da,1) gc:AddCounter(0x1da1,1)
end end
if c:IsRelateToEffect(e) and c:IsCanTurnSet() then if c:IsRelateToEffect(e) and c:IsCanTurnSet() then
Duel.BreakEffect() Duel.BreakEffect()
......
...@@ -48,15 +48,15 @@ end ...@@ -48,15 +48,15 @@ end
function c65020025.op(e,tp,eg,ep,ev,re,r,rp) function c65020025.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) then if c:IsRelateToEffect(e) then
c:AddCounter(0x11da,1) c:AddCounter(0x1da1,1)
end end
end end
function c65020025.eftg(e,c) function c65020025.eftg(e,c)
return ((c:IsType(TYPE_EFFECT) and not c:IsStatus(STATUS_BATTLE_DESTROYED)) or (c:IsType(TYPE_SPELL+TYPE_TRAP))) and c:IsFaceup() return ((c:IsType(TYPE_EFFECT) and not c:IsStatus(STATUS_BATTLE_DESTROYED)) or (c:IsType(TYPE_SPELL+TYPE_TRAP))) and c:IsFaceup()
end end
function c65020025.decost(e,tp,eg,ep,ev,re,r,rp,chk) function c65020025.decost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCounter(tp,LOCATION_ONFIELD,LOCATION_ONFIELD,0x11da)>0 end if chk==0 then return Duel.GetCounter(tp,LOCATION_ONFIELD,LOCATION_ONFIELD,0x1da1)>0 end
Duel.RemoveCounter(tp,LOCATION_ONFIELD,LOCATION_ONFIELD,0x11da,1,REASON_COST) Duel.RemoveCounter(tp,LOCATION_ONFIELD,LOCATION_ONFIELD,0x1da1,1,REASON_COST)
end end
function c65020025.detg(e,tp,eg,ep,ev,re,r,rp,chk) function c65020025.detg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsFacedown,tp,0,LOCATION_SZONE,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(Card.IsFacedown,tp,0,LOCATION_SZONE,1,nil) end
...@@ -76,16 +76,16 @@ function c65020025.deop(e,tp,eg,ep,ev,re,r,rp) ...@@ -76,16 +76,16 @@ function c65020025.deop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c65020025.wintg(e,tp,eg,ep,ev,re,r,rp,chk) function c65020025.wintg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetCounter(0x11da)>0 end if chk==0 then return e:GetHandler():GetCounter(0x1da1)>0 end
if e:IsHasType(EFFECT_TYPE_IGNITION) then if e:IsHasType(EFFECT_TYPE_IGNITION) then
Duel.SetChainLimit(aux.FALSE) Duel.SetChainLimit(aux.FALSE)
end end
end end
function c65020025.winop(e,tp,eg,ep,ev,re,r,rp) function c65020025.winop(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsRelateToEffect(e) then if e:GetHandler():IsRelateToEffect(e) then
local num=e:GetHandler():GetCounter(0x11da) local num=e:GetHandler():GetCounter(0x1da1)
local lp=Duel.GetLP(1-tp) local lp=Duel.GetLP(1-tp)
e:GetHandler():RemoveCounter(tp,0x11da,num,REASON_EFFECT) e:GetHandler():RemoveCounter(tp,0x1da1,num,REASON_EFFECT)
Duel.SetLP(1-tp,lp-num*1000) Duel.SetLP(1-tp,lp-num*1000)
end end
end end
\ No newline at end of file
...@@ -20,7 +20,7 @@ function c65071005.initial_effect(c) ...@@ -20,7 +20,7 @@ function c65071005.initial_effect(c)
end end
function c65071005.tgfil(c,e) function c65071005.tgfil(c,e)
return c:GetCounter(0x10da)~=0 return c:GetCounter(0x1da0)~=0
end end
function c65071005.tgtg(e,tp,eg,ep,ev,re,r,rp,chk) function c65071005.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
...@@ -58,11 +58,11 @@ end ...@@ -58,11 +58,11 @@ end
function c65071005.acop(e,tp,eg,ep,ev,re,r,rp) function c65071005.acop(e,tp,eg,ep,ev,re,r,rp)
local c=re:GetHandler() local c=re:GetHandler()
if re:IsActiveType(TYPE_MONSTER) then if re:IsActiveType(TYPE_MONSTER) then
c:AddCounter(0x10da,1) c:AddCounter(0x1da0,1)
end end
end end
function c65071005.acop2(e,tp,eg,ep,ev,re,r,rp) function c65071005.acop2(e,tp,eg,ep,ev,re,r,rp)
local c=Duel.GetAttacker() local c=Duel.GetAttacker()
c:AddCounter(0x10da,1) c:AddCounter(0x1da0,1)
end end
\ No newline at end of file
...@@ -37,7 +37,7 @@ function c65071037.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -37,7 +37,7 @@ function c65071037.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then if tc:IsRelateToEffect(e) then
tc:AddCounter(0x10da,1) tc:AddCounter(0x1da0,1)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_ATTACK) e1:SetCode(EFFECT_CANNOT_ATTACK)
...@@ -53,10 +53,10 @@ function c65071037.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -53,10 +53,10 @@ function c65071037.activate(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c65071037.imcon(e) function c65071037.imcon(e)
return e:GetHandler():GetCounter(0x10da)>0 return e:GetHandler():GetCounter(0x1da0)>0
end end
function c65071037.defil(c,e) function c65071037.defil(c,e)
return c:GetCounter(0x10da)~=0 return c:GetCounter(0x1da0)~=0
end end
function c65071037.detg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c65071037.detg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
...@@ -78,8 +78,8 @@ function c65071037.deop(e,tp,eg,ep,ev,re,r,rp) ...@@ -78,8 +78,8 @@ function c65071037.deop(e,tp,eg,ep,ev,re,r,rp)
local count=0 local count=0
local tc=g:GetFirst() local tc=g:GetFirst()
while tc do while tc do
count=tc:GetCounter(0x10da) count=tc:GetCounter(0x1da0)
tc:RemoveCounter(tp,0x10da,count,REASON_EFFECT) tc:RemoveCounter(tp,0x1da0,count,REASON_EFFECT)
atk=atk+tc:GetAttack() atk=atk+tc:GetAttack()
def=def+tc:GetDefense() def=def+tc:GetDefense()
tc=g:GetNext() tc=g:GetNext()
......
--白夜失乐园 --白夜失乐园
function c65071046.initial_effect(c) function c65071046.initial_effect(c)
c:EnableCounterPermit(0x10da) c:EnableCounterPermit(0x1da0)
c:SetCounterLimit(0x10da,3) c:SetCounterLimit(0x1da0,3)
--activate --activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_COUNTER) e1:SetCategory(CATEGORY_COUNTER)
...@@ -78,13 +78,13 @@ function c65071046.initial_effect(c) ...@@ -78,13 +78,13 @@ function c65071046.initial_effect(c)
end end
function c65071046.addct(e,tp,eg,ep,ev,re,r,rp,chk) function c65071046.addct(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,3,0,0x10da) Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,3,0,0x1da0)
end end
function c65071046.addc(e,tp,eg,ep,ev,re,r,rp) function c65071046.addc(e,tp,eg,ep,ev,re,r,rp)
local lp=Duel.GetLP(1-tp) local lp=Duel.GetLP(1-tp)
Duel.SetLP(1-tp,lp+8000) Duel.SetLP(1-tp,lp+8000)
if e:GetHandler():IsRelateToEffect(e) then if e:GetHandler():IsRelateToEffect(e) then
e:GetHandler():AddCounter(0x10da,3) e:GetHandler():AddCounter(0x1da0,3)
end end
end end
function c65071046.ctfilter(c,tp) function c65071046.ctfilter(c,tp)
...@@ -92,29 +92,29 @@ function c65071046.ctfilter(c,tp) ...@@ -92,29 +92,29 @@ function c65071046.ctfilter(c,tp)
end end
function c65071046.ctop(e,tp,eg,ep,ev,re,r,rp) function c65071046.ctop(e,tp,eg,ep,ev,re,r,rp)
if eg:IsExists(c65071046.ctfilter,1,nil,tp) then if eg:IsExists(c65071046.ctfilter,1,nil,tp) then
e:GetHandler():AddCounter(0x10da,1) e:GetHandler():AddCounter(0x1da0,1)
end end
end end
function c65071046.imcon(e,c) function c65071046.imcon(e,c)
return e:GetHandler():GetCounter(0x10da)~=0 return e:GetHandler():GetCounter(0x1da0)~=0
end end
function c65071046.efilter(e,te) function c65071046.efilter(e,te)
return te:GetOwner()~=e:GetOwner() return te:GetOwner()~=e:GetOwner()
end end
function c65071046.rccon(e,tp,eg,ep,ev,re,r,rp) function c65071046.rccon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()~=tp and e:GetHandler():GetCounter(0x10da)~=0 return Duel.GetTurnPlayer()~=tp and e:GetHandler():GetCounter(0x1da0)~=0
end end
function c65071046.rcop(e,tp,eg,ep,ev,re,r,rp) function c65071046.rcop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) then if c:IsRelateToEffect(e) then
c:RemoveCounter(tp,0x10da,1,REASON_EFFECT) c:RemoveCounter(tp,0x1da0,1,REASON_EFFECT)
end end
end end
function c65071046.costcon(e,c) function c65071046.costcon(e,c)
return e:GetHandler():GetCounter(0x10da)==0 return e:GetHandler():GetCounter(0x1da0)==0
end end
function c65071046.actarget(e,te,tp) function c65071046.actarget(e,te,tp)
return te:GetHandler():IsLocation(LOCATION_HAND) return te:GetHandler():IsLocation(LOCATION_HAND)
......
...@@ -20,7 +20,7 @@ function c65071055.initial_effect(c) ...@@ -20,7 +20,7 @@ function c65071055.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c65071055.defil(c,e) function c65071055.defil(c,e)
return c:GetCounter(0x10da)~=0 and c:IsFaceup() return c:GetCounter(0x1da0)~=0 and c:IsFaceup()
end end
function c65071055.detg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c65071055.detg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
...@@ -67,11 +67,11 @@ end ...@@ -67,11 +67,11 @@ end
function c65071055.acop(e,tp,eg,ep,ev,re,r,rp) function c65071055.acop(e,tp,eg,ep,ev,re,r,rp)
local c=re:GetHandler() local c=re:GetHandler()
if re:IsActiveType(TYPE_MONSTER) then if re:IsActiveType(TYPE_MONSTER) then
c:AddCounter(0x10da,1) c:AddCounter(0x1da0,1)
end end
end end
function c65071055.acop2(e,tp,eg,ep,ev,re,r,rp) function c65071055.acop2(e,tp,eg,ep,ev,re,r,rp)
local c=Duel.GetAttacker() local c=Duel.GetAttacker()
c:AddCounter(0x10da,1) c:AddCounter(0x1da0,1)
end end
\ No newline at end of file
...@@ -20,7 +20,7 @@ function c65071066.initial_effect(c) ...@@ -20,7 +20,7 @@ function c65071066.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c65071066.ctfil(c,e) function c65071066.ctfil(c,e)
return c:GetCounter(0x10da)~=0 and c:IsFaceup() and c:IsControlerCanBeChanged() return c:GetCounter(0x1da0)~=0 and c:IsFaceup() and c:IsControlerCanBeChanged()
end end
function c65071066.cttg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c65071066.cttg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
...@@ -63,11 +63,11 @@ end ...@@ -63,11 +63,11 @@ end
function c65071066.acop(e,tp,eg,ep,ev,re,r,rp) function c65071066.acop(e,tp,eg,ep,ev,re,r,rp)
local c=re:GetHandler() local c=re:GetHandler()
if re:IsActiveType(TYPE_MONSTER) then if re:IsActiveType(TYPE_MONSTER) then
c:AddCounter(0x10da,1) c:AddCounter(0x1da0,1)
end end
end end
function c65071066.acop2(e,tp,eg,ep,ev,re,r,rp) function c65071066.acop2(e,tp,eg,ep,ev,re,r,rp)
local c=Duel.GetAttacker() local c=Duel.GetAttacker()
c:AddCounter(0x10da,1) c:AddCounter(0x1da0,1)
end end
\ No newline at end of file
...@@ -28,7 +28,7 @@ function c65071067.initial_effect(c) ...@@ -28,7 +28,7 @@ function c65071067.initial_effect(c)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function c65071067.recon2(e,tp,eg,ep,ev,re,r,rp) function c65071067.recon2(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetAttacker():GetCounter(0x10da)~=0 return Duel.GetAttacker():GetCounter(0x1da0)~=0
end end
function c65071067.retg2(e,tp,eg,ep,ev,re,r,rp,chk) function c65071067.retg2(e,tp,eg,ep,ev,re,r,rp,chk)
...@@ -47,7 +47,7 @@ function c65071067.reop2(e,tp,eg,ep,ev,re,r,rp) ...@@ -47,7 +47,7 @@ function c65071067.reop2(e,tp,eg,ep,ev,re,r,rp)
end end
function c65071067.recon(e,tp,eg,ep,ev,re,r,rp) function c65071067.recon(e,tp,eg,ep,ev,re,r,rp)
return re:GetHandler():IsOnField() and re:IsActiveType(TYPE_MONSTER) and re:GetHandler():GetCounter(0x10da)~=0 return re:GetHandler():IsOnField() and re:IsActiveType(TYPE_MONSTER) and re:GetHandler():GetCounter(0x1da0)~=0
end end
function c65071067.retg(e,tp,eg,ep,ev,re,r,rp,chk) function c65071067.retg(e,tp,eg,ep,ev,re,r,rp,chk)
...@@ -88,11 +88,11 @@ end ...@@ -88,11 +88,11 @@ end
function c65071067.acop(e,tp,eg,ep,ev,re,r,rp) function c65071067.acop(e,tp,eg,ep,ev,re,r,rp)
local c=re:GetHandler() local c=re:GetHandler()
if re:IsActiveType(TYPE_MONSTER) then if re:IsActiveType(TYPE_MONSTER) then
c:AddCounter(0x10da,1) c:AddCounter(0x1da0,1)
end end
end end
function c65071067.acop2(e,tp,eg,ep,ev,re,r,rp) function c65071067.acop2(e,tp,eg,ep,ev,re,r,rp)
local c=Duel.GetAttacker() local c=Duel.GetAttacker()
c:AddCounter(0x10da,1) c:AddCounter(0x1da0,1)
end end
\ No newline at end of file
...@@ -19,7 +19,7 @@ function c65071070.initial_effect(c) ...@@ -19,7 +19,7 @@ function c65071070.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c65071070.drcost(e,tp,eg,ep,ev,re,r,rp,chk) function c65071070.drcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsCanRemoveCounter(tp,1,1,0x10da,15,REASON_COST) and e:GetHandler():IsAbleToRemoveAsCost() end if chk==0 then return Duel.IsCanRemoveCounter(tp,1,1,0x1da0,15,REASON_COST) and e:GetHandler():IsAbleToRemoveAsCost() end
Duel.RemoveCounter(tp,1,1,0x11,15,REASON_COST) Duel.RemoveCounter(tp,1,1,0x11,15,REASON_COST)
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_COST) Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_COST)
end end
...@@ -66,11 +66,11 @@ end ...@@ -66,11 +66,11 @@ end
function c65071070.acop(e,tp,eg,ep,ev,re,r,rp) function c65071070.acop(e,tp,eg,ep,ev,re,r,rp)
local c=re:GetHandler() local c=re:GetHandler()
if re:IsActiveType(TYPE_MONSTER) then if re:IsActiveType(TYPE_MONSTER) then
c:AddCounter(0x10da,1) c:AddCounter(0x1da0,1)
end end
end end
function c65071070.acop2(e,tp,eg,ep,ev,re,r,rp) function c65071070.acop2(e,tp,eg,ep,ev,re,r,rp)
local c=Duel.GetAttacker() local c=Duel.GetAttacker()
c:AddCounter(0x10da,1) c:AddCounter(0x1da0,1)
end end
\ No newline at end of file
...@@ -191,12 +191,12 @@ function c65071073.addct(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -191,12 +191,12 @@ function c65071073.addct(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local mc=e:GetHandler() local mc=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local g=Duel.SelectTarget(tp,Card.IsFaceup,tp,LOCATION_MZONE,0,1,1,mc) local g=Duel.SelectTarget(tp,Card.IsFaceup,tp,LOCATION_MZONE,0,1,1,mc)
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,0,0x10da) Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,1,0,0x1da0)
end end
function c65071073.addc(e,tp,eg,ep,ev,re,r,rp) function c65071073.addc(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc and tc:IsFaceup() and tc:IsRelateToEffect(e) then if tc and tc:IsFaceup() and tc:IsRelateToEffect(e) then
tc:AddCounter(0x10da,1) tc:AddCounter(0x1da0,1)
--indes --indes
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
...@@ -213,11 +213,11 @@ function c65071073.addc(e,tp,eg,ep,ev,re,r,rp) ...@@ -213,11 +213,11 @@ function c65071073.addc(e,tp,eg,ep,ev,re,r,rp)
e:GetHandler():RegisterFlagEffect(65071073,RESET_EVENT+0x1ec0000,0,0) e:GetHandler():RegisterFlagEffect(65071073,RESET_EVENT+0x1ec0000,0,0)
end end
function c65071073.indcon(e) function c65071073.indcon(e)
return e:GetHandler():GetCounter(0x10da)>0 return e:GetHandler():GetCounter(0x1da0)>0
end end
function c65071073.indcon2(e) function c65071073.indcon2(e)
return e:GetHandler():GetFlagEffect(65071073)~=0 and Duel.GetCounter(tp,LOCATION_MZONE,0,0x10da)==0 return e:GetHandler():GetFlagEffect(65071073)~=0 and Duel.GetCounter(tp,LOCATION_MZONE,0,0x1da0)==0
end end
function c65071073.eftg(e,c) function c65071073.eftg(e,c)
......
...@@ -64,7 +64,7 @@ function c65071106.eqop(e,tp,eg,ep,ev,re,r,rp) ...@@ -64,7 +64,7 @@ function c65071106.eqop(e,tp,eg,ep,ev,re,r,rp)
end end
function c65071106.confil(c,e) function c65071106.confil(c,e)
return c:GetCounter(0x10da)==0 return c:GetCounter(0x1da0)==0
end end
function c65071106.contg(e,tp,eg,ep,ev,re,r,rp,chk) function c65071106.contg(e,tp,eg,ep,ev,re,r,rp,chk)
...@@ -79,8 +79,8 @@ function c65071106.conop(e,tp,eg,ep,ev,re,r,rp) ...@@ -79,8 +79,8 @@ function c65071106.conop(e,tp,eg,ep,ev,re,r,rp)
Duel.HintSelection(g2) Duel.HintSelection(g2)
local tc1=g1:GetFirst() local tc1=g1:GetFirst()
local tc2=g1:GetFirst() local tc2=g1:GetFirst()
tc1:AddCounter(0x10da,1) tc1:AddCounter(0x1da0,1)
tc2:AddCounter(0x10da,1) tc2:AddCounter(0x1da0,1)
end end
function c65071106.tgcon(e,tp,eg,ep,ev,re,r,rp) function c65071106.tgcon(e,tp,eg,ep,ev,re,r,rp)
...@@ -94,7 +94,7 @@ function c65071106.tgtg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -94,7 +94,7 @@ function c65071106.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,PLAYER_ALL,0) Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,PLAYER_ALL,0)
end end
function c65071106.tgfil(c,e) function c65071106.tgfil(c,e)
return c:GetCounter(0x10da)>0 return c:GetCounter(0x1da0)>0
end end
function c65071106.tgop(e,tp,eg,ep,ev,re,r,rp) function c65071106.tgop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c65071106.tgfil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil,e) local g=Duel.GetMatchingGroup(c65071106.tgfil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil,e)
......
...@@ -63,15 +63,15 @@ function c65071108.drop(e,tp,eg,ep,ev,re,r,rp) ...@@ -63,15 +63,15 @@ function c65071108.drop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end if not e:GetHandler():IsRelateToEffect(e) then return end
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM) local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Draw(p,d,REASON_EFFECT) Duel.Draw(p,d,REASON_EFFECT)
e:GetHandler():AddCounter(0x10da,1) e:GetHandler():AddCounter(0x1da0,1)
end end
function c65071108.discon(e,c) function c65071108.discon(e,c)
return e:GetHandler():GetCounter(0x10da)>0 return e:GetHandler():GetCounter(0x1da0)>0
end end
function c65071108.imcon(e,c) function c65071108.imcon(e,c)
return e:GetHandler():GetCounter(0x10da)>=2 return e:GetHandler():GetCounter(0x1da0)>=2
end end
function c65071108.efilter(e,te) function c65071108.efilter(e,te)
...@@ -79,7 +79,7 @@ function c65071108.efilter(e,te) ...@@ -79,7 +79,7 @@ function c65071108.efilter(e,te)
end end
function c65071108.recon(e,tp,eg,ep,ev,re,r,rp) function c65071108.recon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetCounter(0x10da)>=5 and Duel.GetTurnPlayer()~=tp return e:GetHandler():GetCounter(0x1da0)>=5 and Duel.GetTurnPlayer()~=tp
end end
function c65071108.retg(e,tp,eg,ep,ev,re,r,rp,chk) function c65071108.retg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
...@@ -99,6 +99,6 @@ function c65071108.reop(e,tp,eg,ep,ev,re,r,rp) ...@@ -99,6 +99,6 @@ function c65071108.reop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
Duel.BreakEffect() Duel.BreakEffect()
local num=c:GetCounter(0x10da) local num=c:GetCounter(0x1da0)
c:RemoveCounter(tp,0x10da,num,REASON_EFFECT) c:RemoveCounter(tp,0x1da0,num,REASON_EFFECT)
end end
\ No newline at end of file
This diff is collapsed.
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