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)
e2:SetCategory(CATEGORY_DICE+CATEGORY_SPECIAL_SUMMON+CATEGORY_ATKCHANGE+CATEGORY_DAMAGE)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetLabelObject(e1)
e2:SetCountLimit(1,11200118)
e2:SetLabelObject(e1)
e2:SetTarget(c11200018.tg2)
e2:SetOperation(c11200018.op2)
c:RegisterEffect(e2)
--
end
--
c11200018.xig_ihs_0x132=1
--
function c11200018.tfilter1(c,tp,mg,rc)
if c:IsControler(tp) and c:IsLocation(LOCATION_MZONE) and c:GetSequence()<5 then
Duel.SetSelectedCard(c)
......@@ -75,7 +77,7 @@ function c11200018.op1(e,tp,eg,ep,ev,re,r,rp)
end
--
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)
end
function c11200018.tg2(e,tp,eg,ep,ev,re,r,rp,chk)
......@@ -93,31 +95,38 @@ end
function c11200018.op2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local rcount=e:GetLabelObject():GetLabel()
local dc1,dc2,dc3,dc4,dc5,dc6=Duel.TossDice(tp,rcount)
local dc=0
if dc1 and dc1>0 then dc=dc+dc1 end
if dc2 and dc2>0 then dc=dc+dc2 end
if dc3 and dc3>0 then dc=dc+dc3 end
if dc4 and dc4>0 then dc=dc+dc4 end
if dc5 and dc5>0 then dc=dc+dc5 end
if dc6 and dc6>0 then dc=dc+dc6 end
if dc%2==1 then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(dc*450)
c:RegisterEffect(e1)
local e2_2=Effect.CreateEffect(c)
e2_2:SetType(EFFECT_TYPE_SINGLE)
e2_2:SetCode(EFFECT_IMMUNE_EFFECT)
e2_2:SetValue(c11200018.efilter2_2)
e2_2:SetOwnerPlayer(tp)
e2_2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END+RESET_OPPO_TURN)
local dc1,dc2,dc3,dc4,dc5,dc6,dc7,dc8=0
dc1,dc2,dc3,dc4,dc5,dc6=Duel.TossDice(tp,rcount)
if rcount>6 then dc7,dc8=Duel.TossDice(tp,rcount-6) end
local aldc=0
if dc1 then aldc=aldc+dc1 end
if dc2 then aldc=aldc+dc2 end
if dc3 then aldc=aldc+dc3 end
if dc4 then aldc=aldc+dc4 end
if dc5 then aldc=aldc+dc5 end
if dc6 then aldc=aldc+dc6 end
if dc7 then aldc=aldc+dc7 end
if dc8 then aldc=aldc+dc8 end
if aldc%2==1 then
local e2_1=Effect.CreateEffect(c)
e2_1:SetType(EFFECT_TYPE_SINGLE)
e2_1:SetCode(EFFECT_UPDATE_ATTACK)
e2_1:SetReset(RESET_EVENT+RESETS_STANDARD)
e2_1:SetValue(aldc*450)
c:RegisterEffect(e2_1)
local e2_2=e2_1:Clone()
e2_2:SetCode(EFFECT_UPDATE_DEFENSE)
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
if dc==4 then Duel.Damage(tp,1100,REASON_EFFECT) end
if dc%2==0 then
if aldc==4 then Duel.Damage(tp,1100,REASON_EFFECT) end
if aldc%2==0 then
if Duel.GetMZoneCount(tp)<1 then return end
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)
......@@ -129,6 +138,6 @@ function c11200018.op2(e,tp,eg,ep,ev,re,r,rp)
end
end
--
function c11200018.efilter2_2(e,re)
function c11200018.efilter2_3(e,re)
return e:GetOwnerPlayer()~=re:GetOwnerPlayer()
end
......@@ -72,7 +72,12 @@ function c11200019.op2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if not tc:IsRelateToEffect(e) then return end
local g=Group.CreateGroup()
g:AddCard(tc)
Duel.HintSelection(g)
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:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
e1_1:SetValue(1)
......@@ -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)
tc:RegisterEffect(e1_4)
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:SetCode(EFFECT_MUST_ATTACK)
e1_5:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_BATTLE)
......
......@@ -25,13 +25,16 @@ function c11200020.initial_effect(c)
--
end
--
c11200020.xig_ihs_0x132=1
--
function c11200020.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return not e:GetHandler():IsPublic() end
Duel.ConfirmCards(1-tp,e:GetHandler())
end
--
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
function c11200020.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
......@@ -56,7 +59,6 @@ function c11200020.op1(e,tp,eg,ep,ev,re,r,rp)
local tc=sg:GetFirst()
tc:AddMonsterAttribute(TYPE_NORMAL,ATTRIBUTE_LIGHT,RACE_BEAST,4,1100,1100)
Duel.SpecialSummonStep(tc,0,tp,tp,true,false,POS_FACEUP)
tc:AddMonsterAttributeComplete()
Duel.SpecialSummonComplete()
end
end
......@@ -67,7 +69,7 @@ end
--
function c11200020.cfilter2(c)
return c:IsAbleToRemoveAsCost()
and c:IsType(TYPE_SPELL) and c:IsSetCard(0x132)
and c:IsType(TYPE_SPELL) and c.xig_ihs_0x132
end
function c11200020.cost2(e,tp,eg,ep,ev,re,r,rp,chk)
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
--
function c11200022.con1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:GetSummonType()==SUMMON_TYPE_FUSION
return c:IsSummonType(SUMMON_TYPE_FUSION)
and c:GetMaterialCount()>0
end
--
......@@ -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)
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)
local c=e:GetHandler()
local dc=Duel.TossDice(tp,1)
......@@ -78,18 +81,20 @@ function c11200022.op1(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local sg=Duel.SelectMatchingCard(tp,Card.IsDestructable,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
if sg:GetCount()<1 then return end
Duel.Destroy(sg,REASON_EFFECT)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local tg=Duel.SelectMatchingCard(tp,c11200022.ofilter2,tp,LOCATION_DECK,0,1,1,nil)
if Duel.Destroy(sg,REASON_EFFECT)>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local tg=Duel.SelectMatchingCard(tp,c11200022.ofilter1,tp,LOCATION_DECK,0,1,1,nil)
if tg:GetCount()<1 then return end
Duel.BreakEffect()
Duel.SendtoHand(tg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tg)
end
end
end
--
function c11200022.con2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:GetSummonType()==SUMMON_TYPE_FUSION
return c:IsSummonType(SUMMON_TYPE_FUSION)
and c:GetFlagEffect(11200022)==0
end
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)
--
end
--
c11200024.xig_ihs_0x132=1
--
function c11200024.tfilter1(c)
return c:IsCode(11200019)
or (c:IsSetCard(0x132) and c:IsAbleToHand())
or (c.xig_ihs_0x132 and c:IsAbleToHand())
end
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
......@@ -43,21 +45,27 @@ end
function c11200024.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 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
function c11200024.tg2(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.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_SPECIAL_SUMMON,nil,0,tp,LOCATION_HAND)
end
--
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)
local sg=Duel.SelectMatchingCard(tp,c11200024.tfilter2,tp,LOCATION_HAND,0,1,1,nil,e,tp)
if sg:GetCount()<1 then return end
......
--『地上弹跳』
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)
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:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,11200025)
e1:SetCountLimit(1,11200025+EFFECT_COUNT_CODE_OATH)
e1:SetCost(c11200025.cost1)
e1:SetTarget(c11200025.tg1)
e1:SetOperation(c11200025.op1)
c:RegisterEffect(e1)
--
if not c11200025.check then
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)
end
--
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
--
function c11200025.cfilter1(c)
return c:IsRace(RACE_BEAST) and c:IsReleasable()
function c11200025.op0(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(rp,11200025,RESET_PHASE+PHASE_END,0,1)
end
--
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
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local sg=Duel.SelectMatchingCard(tp,c11200025.cfilter1,tp,LOCATION_MZONE+LOCATION_HAND,0,1,1,nil)
Duel.Release(sg,REASON_EFFECT)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToHandAsCost,tp,LOCATION_ONFIELD,0,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RTOHAND)
local sg=Duel.SelectMatchingCard(tp,Card.IsAbleToHandAsCost,tp,LOCATION_ONFIELD,0,1,1,e:GetHandler())
Duel.SendtoHand(sg,nil,REASON_COST)
end
--
function c11200025.tfilter1(c)
return c:IsAbleToHand() and c:IsSetCard(0x132)
function c11200025.tfilter1(c,e,tp)
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
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
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
local c=e:GetHandler()
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
--
function c11200025.op1(e,tp,eg,ep,ev,re,r,rp)
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 Duel.GetMZoneCount(tp)<1 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=Duel.SelectMatchingCard(tp,c11200025.tfilter1,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil,e,tp)
if Duel.GetFlagEffect(tp,11200025)<1 and Duel.GetMZoneCount(tp)>1
and Duel.SelectYesNo(tp,aux.Stringid(11200025,0)) then
sg:AddCard(c)
end
if sg:GetCount()>0 then
Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg)
local sc=sg:GetFirst()
while sc do
sc:AddMonsterAttribute(TYPE_NORMAL,ATTRIBUTE_LIGHT,RACE_BEAST,4,1100,1100)
Duel.SpecialSummonStep(sc,0,tp,tp,true,false,POS_FACEUP)
sc=sg:GetNext()
end
if Duel.GetMZoneCount(tp)<1 then return end
if not c:IsRelateToEffect(e) then return end
if Duel.GetFlagEffect(tp,11200025)>0 then return end
if not Duel.IsPlayerCanSpecialSummonMonster(tp,c:GetCode(),0x132,0x21,1100,1100,4,RACE_BEAST,ATTRIBUTE_LIGHT) then return end
if Duel.SelectYesNo(tp,aux.Stringid(11200025,0)) then
c:AddMonsterAttribute(TYPE_NORMAL,ATTRIBUTE_LIGHT,RACE_BEAST,4,1100,1100)
Duel.SpecialSummonStep(c,0,tp,tp,true,false,POS_FACEUP)
c:AddMonsterAttributeComplete()
local e1_1=Effect.CreateEffect(c)
e1_1:SetType(EFFECT_TYPE_SINGLE)
e1_1:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e1_1:SetValue(1)
e1_1:SetReset(RESET_EVENT+0x1fe0000)
c:RegisterEffect(e1_1,true)
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()
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)
local e5=Effect.GlobalEffect()
e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e5:SetCode(EVENT_CHAINING)
e5:SetCondition(c11200026.con5)
e5:SetOperation(c11200026.op5)
Duel.RegisterEffect(e5,0)
end
......@@ -60,6 +61,8 @@ function c11200026.initial_effect(c)
--
end
--
c11200026.xig_ihs_0x132=1
--
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 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)
return e:GetHandlerPlayer()
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()
if not re:IsActiveType(TYPE_MONSTER) then return end
Duel.RegisterFlagEffect(rc:GetControler(),11200026,RESET_PHASE+PHASE_END,0,1)
return re:IsActiveType(TYPE_MONSTER)
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
--
function c11200026.op6(e,tp,eg,ep,ev,re,r,rp)
......
--幻之月
--迷途竹林
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)
e1:SetCategory(CATEGORY_DICE+CATEGORY_SPECIAL_SUMMON+CATEGORY_SEARCH+CATEGORY_TOHAND+CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,11200028+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(c11200028.tg1)
e1:SetOperation(c11200028.op1)
c:RegisterEffect(e1)
--
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetCost(aux.bfgcost)
e2:SetOperation(c11200028.op2)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_CANNOT_SELECT_BATTLE_TARGET)
e2:SetRange(LOCATION_FZONE)
e2:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e2:SetValue(c11200028.val2)
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)
return re:IsActiveType(TYPE_MONSTER) and not re:GetHandler():IsCode(11200019)
end
if not c11200028.global_check then
c11200028.global_check=true
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
--
function c11200028.tfilter1(c)
return (c:IsCode(24094653)
or (c:IsType(TYPE_MONSTER) and c:IsRace(RACE_BEAST) and c:IsAttribute(ATTRIBUTE_LIGHT)))
and c:IsAbleToHand()
end
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)
c11200028.xig_ihs_0x132=1
c11200028.xig_ihs_0x133=1
--
function c11200028.clear(e,tp,eg,ep,ev,re,r,rp)
c11200028[0]=0
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)
local c=e:GetHandler()
local dc=Duel.TossDice(tp,1)
if dc==1 or dc==2 or dc==3 or dc==4 then
if not c:IsRelateToEffect(e) then return end
if Duel.GetLocationCount(tp,LOCATION_MZONE)<1 then return end
if Duel.IsPlayerCanSpecialSummonMonster(tp,c:GetCode(),0x132,0x21,1100,1100,4,RACE_BEAST,ATTRIBUTE_LIGHT) then
c:AddMonsterAttribute(TYPE_EFFECT)
Duel.SpecialSummonStep(c,0,tp,tp,true,false,POS_FACEUP)
c:AddMonsterAttributeComplete()
Duel.SpecialSummonComplete()
end
elseif dc==5 or dc==6 then
local b1=Duel.IsExistingMatchingCard(c11200028.tfilter1,tp,LOCATION_DECK,0,1,nil)
local b2=Duel.GetFlagEffect(tp,11200025)<1 and Duel.IsPlayerCanDraw(tp,1)
if not (b1 or b2) then return end
local off=1
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
local g=Duel.GetMatchingGroup(c11200028.ofilter1,tp,0xff,0xff,nil)
local tc=g:GetFirst()
while tc do
if tc:GetFlagEffect(11200028)==0 then
local e1_1=Effect.CreateEffect(e:GetHandler())
e1_1:SetDescription(aux.Stringid(11200028,0))
e1_1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1_1:SetType(EFFECT_TYPE_FIELD)
e1_1:SetCode(EFFECT_SPSUMMON_PROC)
e1_1:SetRange(LOCATION_EXTRA)
e1_1:SetValue(SUMMON_TYPE_FUSION)
e1_1:SetReset(RESET_PHASE+PHASE_END)
e1_1:SetCondition(c11200028.con1_1)
e1_1:SetOperation(c11200028.op1_1)
tc:RegisterEffect(e1_1)
tc:RegisterFlagEffect(11200028,RESET_PHASE+PHASE_END,0,0)
end
local op=Duel.SelectOption(tp,table.unpack(ops))
local sel=opval[op]
if sel==1 then
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
tc=g:GetNext()
end
c11200028[0]=c11200028[0]+1
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 e2_1=Effect.CreateEffect(c)
e2_1:SetType(EFFECT_TYPE_FIELD)
e2_1:SetCode(EFFECT_UPDATE_ATTACK)
e2_1:SetTargetRange(LOCATION_MZONE,0)
e2_1:SetTarget(c11200028.tg2_1)
e2_1:SetValue(700)
e2_1:SetReset(RESET_PHASE+PHASE_END+RESET_OPPO_TURN)
Duel.RegisterEffect(e2_1,tp)
local e2_2=e2_1:Clone()
e2_2:SetCode(EFFECT_UPDATE_DEFENSE)
Duel.RegisterEffect(e2_2,tp)
local chkf=tp
local mg=Duel.GetMatchingGroup(c11200028.cfilter1_1,tp,LOCATION_HAND+LOCATION_MZONE+LOCATION_GRAVE,0,nil,c)
local mat=Duel.SelectFusionMaterial(tp,c,mg,nil,chkf)
c:SetMaterial(mat)
Duel.Remove(mat,POS_FACEUP,REASON_FUSION+REASON_COST+REASON_MATERIAL)
local e1_1_1=Effect.CreateEffect(c)
e1_1_1:SetDescription(aux.Stringid(11200028,1))
e1_1_1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CLIENT_HINT)
e1_1_1:SetType(EFFECT_TYPE_SINGLE)
e1_1_1:SetCode(EFFECT_CANNOT_TRIGGER)
e1_1_1:SetReset(RESET_EVENT+0xfe0000)
c:RegisterEffect(e1_1_1,true)
c11200028[0]=c11200028[0]-1
end
--
function c11200028.val2(e,c)
return c:IsFaceup() and (c.xig_ihs_0x132 or c:IsCode(11200019) or c:IsSetCard(0x621))
end
--
function c11200028.tg2_1(e,c)
return c:IsRace(RACE_BEAST) and c:IsAttribute(ATTRIBUTE_LIGHT)
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)
--
c:EnableReviveLimit()
aux.AddFusionProcFunRep(c,c11200066.FusFilter,2,true)
--
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_MONSTER_SSET)
e1:SetValue(TYPE_TRAP)
e1:SetDescription(aux.Stringid(11200066,0))
e1:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND+CATEGORY_REMOVE+CATEGORY_LEAVE_GRAVE)
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)
--
e2=e1:Clone()
e2:SetCode(EVENT_LEAVE_FIELD)
e2:SetCondition(c11200066.con2)
c:RegisterEffect(e2)
--
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_DRAW)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e3:SetCode(EVENT_TO_GRAVE)
e3:SetCondition(c11200066.con3)
e3:SetTarget(c11200066.tg3)
e3:SetDescription(aux.Stringid(11200066,3))
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_GRAVE)
e3:SetCost(aux.bfgcost)
e3:SetOperation(c11200066.op3)
c:RegisterEffect(e3)
--
end
--
--
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)
function c11200066.FusFilter(c)
return c:IsRace(RACE_BEAST) and c:IsAttribute(ATTRIBUTE_LIGHT)
end
--
function c11200066.op2(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst()
if tc:IsFacedown() then return end
if not tc:IsRelateToEffect(e) then return end
if tc:GetAttack()<1000 then return end
if Duel.Destroy(tc,REASON_EFFECT)<1 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SELF)
local sg=Duel.SelectMatchingCard(tp,Card.IsSetCard,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,0xffee)
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
function c11200066.con1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsSummonType(SUMMON_TYPE_FUSION)
and c:GetMaterialCount()>0
end
function c11200066.con2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsSummonType(SUMMON_TYPE_FUSION)
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()
return c:IsPreviousLocation(LOCATION_SZONE)
and c:IsPreviousPosition(POS_FACEDOWN)
if chk==0 then return Duel.IsExistingMatchingCard(c11200066.tfilter1,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end
--
function c11200066.tg3(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)
function c11200066.ofilter1(c,tc)
return c:IsCode(tc:GetCode()) and c:IsAbleToRemove()
end
function c11200066.op1(e,tp,eg,ep,ev,re,r,rp)
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
--
function c11200066.op3(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Draw(p,d,REASON_EFFECT)
if Duel.GetFlagEffect(tp,11200066)==0 then
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
--
--兔符『因幡的白兔』
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
function c11200103.atkop(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateAttack()
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)
if chkc then return chkc:IsLocation(LOCATION_REMOVED) and chkc:IsAbleToDeck() and chkc~=e:GetHandler() end
if chk==0 then return Duel.IsExistingTarget(Card.IsAbleToDeck,tp,LOCATION_REMOVED,0,1,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(c11200103.tdfilter,tp,LOCATION_REMOVED,0,1,e:GetHandler())
and not e:GetHandler():IsStatus(STATUS_CHAINING) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectTarget(tp,Card.IsAbleToDeck,tp,LOCATION_REMOVED,0,1,3,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0)
local g=Duel.SelectTarget(tp,c11200103.tdfilter,tp,LOCATION_REMOVED,0,1,3,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,g:GetCount(),0,0)
end
function c11200103.tdop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.SendtoDeck(tc,nil,2,REASON_EFFECT)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
if g:GetCount()>0 then
Duel.SendtoDeck(g,nil,2,REASON_EFFECT)
end
end
......@@ -52,7 +52,7 @@ function c1156015.lkfilter(c,lc,tp)
if c:IsType(TYPE_MONSTER) then
return flag and c:IsRace(RACE_SPELLCASTER)
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
function c1156015.lvfilter(c)
......
--灾厄岩兽 雷德王
--灾厄重融合
function c14801037.initial_effect(c)
--to hand
--Activate
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(14801037,0))
e1:SetCategory(CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetCountLimit(1,14801037)
e1:SetTarget(c14801037.thtg)
e1:SetOperation(c14801037.thop)
e1:SetCategory(CATEGORY_TODECK+CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c14801037.target)
e1:SetOperation(c14801037.activate)
c:RegisterEffect(e1)
local e4=e1:Clone()
e4:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e4)
--spsummon
--draw
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TODECK+CATEGORY_DRAW)
e2:SetDescription(aux.Stringid(14801037,1))
e2:SetCategory(CATEGORY_TOGRAVE+CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetRange(LOCATION_MZONE)
e2:SetRange(LOCATION_GRAVE)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCountLimit(1,148010371)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCondition(c14801037.spcon)
e2:SetTarget(c14801037.sptg)
e2:SetOperation(c14801037.spop)
e2:SetCountLimit(1,14801037)
e2:SetCondition(aux.exccon)
e2:SetTarget(c14801037.tdtg)
e2:SetOperation(c14801037.tdop)
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
function c14801037.thfilter(c)
return (c:IsSetCard(0x4800) and c:IsType(TYPE_MONSTER)) and not c:IsCode(14801037) and c:IsAbleToHand()
function c14801037.filter0(c)
return (c:IsLocation(LOCATION_ONFIELD+LOCATION_GRAVE) or c:IsFaceup()) and c:IsType(TYPE_MONSTER) and c:IsCanBeFusionMaterial() and c:IsAbleToDeck()
end
function c14801037.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c14801037.thfilter(chkc) end
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)
function c14801037.filter1(c,e)
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)
end
function c14801037.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
function c14801037.spcon(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase()
return not e:GetHandler():IsStatus(STATUS_CHAINING) and Duel.GetTurnPlayer()==1-tp
and (ph==PHASE_MAIN1 or ph==PHASE_MAIN2)
end
function c14801037.thfilter1(c)
return c:IsFaceup() and (c:IsSetCard(0x4800) and c:IsType(TYPE_MONSTER)) and c:IsAbleToGrave()
end
function c14801037.thfilter2(c)
return c:IsFaceup() and (c:IsSetCard(0x4800) and c:IsType(TYPE_MONSTER)) and c:IsAbleToGrave() and c:GetSequence()<5
function c14801037.filter2(c,e,tp,m,f,chkf)
return c:IsType(TYPE_FUSION) and c:IsSetCard(0x4800) and (not f or f(c))
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
end
function c14801037.spfilter(c,e,tp)
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)
function c14801037.target(e,tp,eg,ep,ev,re,r,rp,chk)
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)
local chkf=tp
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
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)
return res
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())
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
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)
function c14801037.activate(e,tp,eg,ep,ev,re,r,rp)
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
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
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 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)
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
function c14801037.tdtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToDeck() and Duel.IsPlayerCanDraw(tp,1) end
Duel.SetOperationInfo(0,CATEGORY_TODECK,e:GetHandler(),1,0,0)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
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)
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)
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TODECK+CATEGORY_DRAW)
e2:SetDescription(aux.Stringid(14801038,0))
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCountLimit(1,14801038)
e2:SetCondition(aux.exccon)
e2:SetTarget(c14801038.tdtg)
......
--灾厄炎双 庞墩
--灾厄魔鸟 桑德里阿斯
function c14801051.initial_effect(c)
--fusion material
c:EnableReviveLimit()
aux.AddFusionProcFun2(c,aux.FilterBoolFunction(Card.IsFusionSetCard,0x4800),aux.FilterBoolFunction(Card.IsFusionAttribute,ATTRIBUTE_FIRE),true)
--spsummon condition
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_SPSUMMON_CONDITION)
e1:SetValue(aux.fuslimit)
c:RegisterEffect(e1)
--attackall
--spsummon
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_EXTRA_ATTACK)
e2:SetValue(1)
e2:SetDescription(aux.Stringid(14801051,0))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,14801051)
e2:SetTarget(c14801051.target)
e2:SetOperation(c14801051.operation)
c:RegisterEffect(e2)
--damage
local e1=e2:Clone()
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e1)
--tohand
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(14801051,0))
e3:SetCategory(CATEGORY_DAMAGE+CATEGORY_DECKDES)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetCountLimit(1,14801051)
e3:SetCondition(c14801051.damcon)
e3:SetCost(c14801051.damcost)
e3:SetTarget(c14801051.damtg)
e3:SetOperation(c14801051.damop)
e3:SetDescription(aux.Stringid(14801051,1))
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCode(EVENT_REMOVE)
e3:SetCountLimit(1,148010511)
e3:SetTarget(c14801051.thtg)
e3:SetOperation(c14801051.thop)
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)
local e4=e3:Clone()
e4:SetCode(EVENT_TO_GRAVE)
e4:SetCondition(c14801051.thcon)
c:RegisterEffect(e4)
end
function c14801051.damcon(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase()
return not e:GetHandler():IsStatus(STATUS_CHAINING) and Duel.GetTurnPlayer()==1-tp
and (ph==PHASE_MAIN1 or ph==PHASE_MAIN2)
end
function c14801051.costfilter(c)
return (c:IsSetCard(0x4800) and c:IsType(TYPE_FUSION)) and c:IsAbleToGrave()
end
function c14801051.damcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c14801051.costfilter,tp,LOCATION_EXTRA,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c14801051.costfilter,tp,LOCATION_EXTRA,0,1,1,nil)
Duel.SendtoGrave(g,REASON_COST)
function c14801051.filter2(c,e,tp)
return c:IsSetCard(0x4800) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c14801051.ctfilter(c)
return c:IsSummonType(SUMMON_TYPE_SPECIAL)
function c14801051.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
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
function c14801051.damtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c14801051.ctfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
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)
function c14801051.operation(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
function c14801051.damop(e,tp,eg,ep,ev,re,r,rp)
local p=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER)
local ct=Duel.GetMatchingGroupCount(c14801051.ctfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
Duel.Damage(p,ct*400,REASON_EFFECT)
function c14801051.thcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsReason(REASON_EFFECT)
end
function c14801051.dambcon(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)
function c14801051.thfilter(c)
return c:IsSetCard(0x4800) and not c:IsCode(14801051) and c:IsAbleToHand()
end
function c14801051.dambtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,0,0xe,1,nil) end
Duel.SetTargetPlayer(1-tp)
local dam=Duel.GetFieldGroupCount(1-tp,0xe,0)*200
Duel.SetTargetParam(dam)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,dam)
function c14801051.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c14801051.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
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)
function c14801051.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c14801051.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 c14801053.initial_effect(c)
--fusion material
--link summon
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkSetCard,0x4800),2,99)
c:EnableReviveLimit()
aux.AddFusionProcFun2(c,aux.FilterBoolFunction(Card.IsFusionSetCard,0x4800),aux.FilterBoolFunction(Card.IsFusionAttribute,ATTRIBUTE_DARK),true)
--spsummon condition
--destroy
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_SPSUMMON_CONDITION)
e1:SetValue(aux.fuslimit)
e1:SetDescription(aux.Stringid(14801053,0))
e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCondition(c14801053.descon)
e1:SetTarget(c14801053.destg)
e1:SetOperation(c14801053.desop)
c:RegisterEffect(e1)
--destroy
--negate
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(14801053,0))
e2:SetCategory(CATEGORY_DESTROY)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e2:SetCondition(c14801053.decon)
e2:SetTarget(c14801053.destg)
e2:SetOperation(c14801053.desop)
e2:SetDescription(aux.Stringid(14801053,1))
e2:SetCategory(CATEGORY_NEGATE+CATEGORY_DESTROY)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,14801053)
e2:SetCode(EVENT_CHAINING)
e2:SetCondition(c14801053.discon)
e2:SetTarget(c14801053.distg)
e2:SetOperation(c14801053.disop)
c:RegisterEffect(e2)
--indes
--special summon
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e3:SetValue(1)
e3:SetDescription(aux.Stringid(14801053,2))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCode(EVENT_DESTROYED)
e3:SetCountLimit(1,148010531)
e3:SetCondition(c14801053.spcon2)
e3:SetTarget(c14801053.sptg2)
e3:SetOperation(c14801053.spop2)
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
function c14801053.desfilter(c)
return c:IsType(TYPE_SPELL+TYPE_TRAP)
function c14801053.descon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK)
end
function c14801053.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and c14801053.desfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c14801053.desfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,c14801053.desfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
function c14801053.destg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,c) end
local g=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,c)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0)
end
function c14801053.desop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.Destroy(tc,REASON_EFFECT)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,c)
if g:GetCount()>0 then
Duel.Destroy(g,REASON_EFFECT)
end
end
function c14801053.negcon(e,tp,eg,ep,ev,re,r,rp)
return aux.exccon(e) and not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) and ep==1-tp
and re:IsHasType(EFFECT_TYPE_ACTIVATE) and Duel.IsChainNegatable(ev)
function c14801053.discon(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase()
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
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
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
if re:GetHandler():IsDestructable() and re:GetHandler():IsRelateToEffect(re) then
Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,1,0,0)
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
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
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)
--spsummon
c:EnableReviveLimit()
--spsummon condition
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_SPSUMMON_CONDITION)
c:RegisterEffect(e0)
--handes
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(14801055,0))
e1:SetCategory(CATEGORY_FUSION_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetRange(LOCATION_HAND)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,14801055)
e1:SetCondition(c14801055.spcon)
e1:SetTarget(c14801055.sptg)
e1:SetOperation(c14801055.spop)
e1:SetDescription(aux.Stringid(14801003,1))
e1:SetCategory(CATEGORY_HANDES)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_BATTLE_DAMAGE)
e1:SetCondition(c14801003.condition)
e1:SetTarget(c14801003.target)
e1:SetOperation(c14801003.operation)
c:RegisterEffect(e1)
--damage
--disable
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(14801055,1))
e2:SetCategory(CATEGORY_DAMAGE)
e2:SetCode(EVENT_BATTLE_DESTROYING)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e2:SetCondition(c14801055.damcon)
e2:SetTarget(c14801055.damtg)
e2:SetOperation(c14801055.damop)
e2:SetDescription(aux.Stringid(14801003,0))
e2:SetCategory(CATEGORY_DISABLE)
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
function c14801055.spcon(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase()
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)
function c14801003.condition(e,tp,eg,ep,ev,re,r,rp)
return ep~=tp
end
function c14801055.filter1(c,e)
return c:IsLocation(LOCATION_HAND) and not c:IsImmuneToEffect(e)
function c14801003.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_HANDES,0,0,1-tp,1)
end
function c14801055.filter2(c,e,tp,m,f,gc,chkf)
return c:IsType(TYPE_FUSION) and c:IsSetCard(0x4800) and (not f or f(c))
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,gc,chkf)
function c14801003.operation(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetFieldGroup(ep,LOCATION_HAND,0)
local sg=g:RandomSelect(ep,1)
Duel.SendtoGrave(sg,REASON_DISCARD+REASON_EFFECT)
end
function c14801055.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
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)
function c14801003.disfilter(c)
return c:IsFaceup() and not (c:GetAttack()==0 and c:IsDisabled())
end
function c14801003.distg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and c14801003.disfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c14801003.disfilter,tp,0,LOCATION_MZONE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local g=Duel.SelectTarget(tp,c14801003.disfilter,tp,0,LOCATION_MZONE,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DISABLE,g,1,0,0)
end
function c14801055.spop(e,tp,eg,ep,ev,re,r,rp)
function c14801003.disop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local chkf=tp
if not c:IsRelateToEffect(e) or c:IsImmuneToEffect(e) then return end
local mg1=Duel.GetFusionMaterial(tp):Filter(c14801055.filter1,nil,e)
local sg1=Duel.GetMatchingGroup(c14801055.filter2,tp,LOCATION_EXTRA,0,nil,e,tp,mg1,nil,c,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(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)
local tc=Duel.GetFirstTarget()
if tc:IsFaceup() and tc:IsRelateToEffect(e) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK_FINAL)
e1:SetValue(0)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE)
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
tc:CompleteProcedure()
end
end
\ No newline at end of file
function c14801055.damcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local bc=c:GetBattleTarget()
return c:IsRelateToBattle() and bc:IsLocation(LOCATION_GRAVE) and bc:IsReason(REASON_BATTLE) and bc:IsType(TYPE_MONSTER)
end
function c14801055.damtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetTargetPlayer(1-tp)
Duel.SetTargetParam(500)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,500)
end
function c14801055.damop(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Damage(p,d,REASON_EFFECT)
end
\ No newline at end of file
--灾厄疾兽 百慕达
--灾厄融合兽 加拉德隆王
function c14801057.initial_effect(c)
--special summon
c:EnableReviveLimit()
--spsummon condition
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_SPSUMMON_CONDITION)
c:RegisterEffect(e0)
--atk/def
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(14801057,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,14801057)
e1:SetCondition(c14801057.spcon)
e1:SetTarget(c14801057.sptg)
e1:SetOperation(c14801057.spop)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(c14801057.val)
c:RegisterEffect(e1)
--atk/def
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetRange(LOCATION_MZONE)
e2:SetTargetRange(LOCATION_MZONE,0)
e2:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x4800))
e2:SetValue(500)
local e2=e1:Clone()
e2:SetCode(EFFECT_UPDATE_DEFENSE)
c:RegisterEffect(e2)
local e4=e2:Clone()
e4:SetCode(EFFECT_UPDATE_DEFENSE)
c:RegisterEffect(e4)
--tohand
--indes
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(14801057,1))
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCode(EVENT_TO_GRAVE)
e3:SetCountLimit(1,148010571)
e3:SetCondition(c14801057.thcon)
e3:SetTarget(c14801057.thtg)
e3:SetOperation(c14801057.thop)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e3:SetRange(LOCATION_MZONE)
e3:SetValue(1)
c:RegisterEffect(e3)
--destroy
local e4=Effect.CreateEffect(c)
e4:SetCategory(CATEGORY_DESTROY)
e4:SetType(EFFECT_TYPE_QUICK_O)
e4:SetCode(EVENT_BE_BATTLE_TARGET)
e4:SetRange(LOCATION_MZONE)
e4:SetCountLimit(1,14801057)
e4:SetCondition(c14801057.descon1)
e4:SetTarget(c14801057.destg)
e4:SetOperation(c14801057.desop)
c:RegisterEffect(e4)
local e5=e4:Clone()
e5:SetCode(EVENT_BECOME_TARGET)
e5:SetCondition(c14801057.descon2)
c:RegisterEffect(e5)
end
function c14801057.cfilter(c)
return c:IsFacedown() or not c:IsSetCard(0x4800)
end
function c14801057.spcon(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsExistingMatchingCard(c14801057.cfilter,tp,LOCATION_MZONE,0,1,nil)
end
function c14801057.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function c14801057.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
function c14801057.val(e,c)
return Duel.GetMatchingGroupCount(Card.IsSetCard,c:GetControler(),LOCATION_GRAVE,0,nil,0x4800)*300
end
function c14801057.thcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD)
function c14801057.descon1(e,tp,eg,ep,ev,re,r,rp)
return eg:IsContains(e:GetHandler())
end
function c14801057.thfilter(c)
return (c:IsSetCard(0x4800) and c:IsType(TYPE_MONSTER)) and not c:IsCode(14801057) and c:IsAbleToHand()
function c14801057.descon2(e,tp,eg,ep,ev,re,r,rp)
return rp==1-tp and eg:IsContains(e:GetHandler())
end
function c14801057.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c14801057.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
function c14801057.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,0,LOCATION_ONFIELD,1,nil)
and not e:GetHandler():IsStatus(STATUS_CHAINING) end
local g=Duel.GetMatchingGroup(aux.TRUE,tp,0,LOCATION_ONFIELD,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0)
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
function c14801057.desop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(aux.TRUE,tp,0,LOCATION_ONFIELD,nil)
Duel.Destroy(g,REASON_EFFECT)
end
\ No newline at end of file
--灾厄深渊 古维拉
--灾厄融合兽 贝蒙杰多
function c14801059.initial_effect(c)
--fusion material
c:EnableReviveLimit()
aux.AddFusionProcFun2(c,aux.FilterBoolFunction(Card.IsFusionSetCard,0x4800),aux.FilterBoolFunction(Card.IsFusionAttribute,ATTRIBUTE_WATER),true)
--spsummon condition
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_SPSUMMON_CONDITION)
e1:SetValue(aux.fuslimit)
c:RegisterEffect(e1)
--pos
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_SPSUMMON_CONDITION)
c:RegisterEffect(e0)
--Immune
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(14801059,0))
e2:SetCategory(CATEGORY_POSITION)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetCondition(c14801059.pocon)
e2:SetCountLimit(1,14801059)
e2:SetTarget(c14801059.postg)
e2:SetOperation(c14801059.posop)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE)
e2:SetValue(aux.tgoval)
c:RegisterEffect(e2)
--destroy
local e1=e2:Clone()
e1:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e1:SetValue(1)
c:RegisterEffect(e1)
--pierce
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(14801059,1))
e3:SetCategory(CATEGORY_DESTROY)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e3:SetCode(EVENT_BATTLE_START)
e3:SetTarget(c14801059.targ)
e3:SetOperation(c14801059.op)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_PIERCE)
c:RegisterEffect(e3)
--disable attack
--negate
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(14801059,2))
e4:SetType(EFFECT_TYPE_QUICK_O)
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)
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetCode(EFFECT_DISABLE)
e4:SetRange(LOCATION_MZONE)
e4:SetTargetRange(0,LOCATION_MZONE)
e4:SetTarget(c14801059.distg)
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()
function c14801059.distg(e,c)
return c==e:GetHandler():GetBattleTarget()
end
\ No newline at end of file
--灾厄异兽 布鲁顿
--灾厄融合龙 奇美拉柏洛斯
function c14801061.initial_effect(c)
--negate attack
--fusion material
c:EnableReviveLimit()
aux.AddFusionProcFunRep(c,aux.FilterBoolFunction(Card.IsSetCard,0x4800),5,true)
--spsummon condition
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(14801061,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_ATTACK_ANNOUNCE)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,14801061)
e1:SetCondition(c14801061.dimcom)
e1:SetTarget(c14801061.dimtg)
e1:SetOperation(c14801061.dimop)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_SPSUMMON_CONDITION)
e1:SetValue(aux.fuslimit)
c:RegisterEffect(e1)
--synchro effect
--Immune
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(14801061,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE)
e2:SetHintTiming(0,TIMING_BATTLE_START+TIMING_BATTLE_END)
e2:SetCountLimit(1,148010611)
e2:SetCondition(c14801061.sccon)
e2:SetTarget(c14801061.sctg)
e2:SetOperation(c14801061.scop)
e2:SetValue(aux.tgoval)
c:RegisterEffect(e2)
--tohand
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(14801061,2))
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetCode(EVENT_TO_GRAVE)
e3:SetCountLimit(1,148010612)
e3:SetCondition(c14801061.thcon)
e3:SetTarget(c14801061.thtg)
e3:SetOperation(c14801061.thop)
local e3=e2:Clone()
e3:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e3:SetValue(1)
c:RegisterEffect(e3)
--Equip
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(14801061,1))
e5:SetCategory(CATEGORY_EQUIP)
e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e5:SetCode(EVENT_DESTROYED)
e5:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e5:SetRange(LOCATION_MZONE)
e5:SetTarget(c14801061.eqtg)
e5:SetOperation(c14801061.eqop)
c:RegisterEffect(e5)
--Destroy
local e6=Effect.CreateEffect(c)
e6:SetDescription(aux.Stringid(14801061,2))
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
function c14801061.dimfilter(c)
return c:IsFaceup() and c:IsSetCard(0x4800)
function c14801061.filter(c,e,tp)
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
function c14801061.dimcom(e,tp,eg,ep,ev,re,r,rp)
local at=Duel.GetAttacker()
return at:GetControler()==1-tp and Duel.IsExistingMatchingCard(c14801061.dimfilter,tp,LOCATION_ONFIELD,0,1,nil)
end
function c14801061.dimtg(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 c:IsCanBeSpecialSummoned(e,0,tp,false,false)
function c14801061.eqtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return eg:IsContains(chkc) and c14801061.filter(chkc,e,tp) end
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.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
Duel.SetTargetCard(tc)
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,tc,1,0,0)
end
function c14801061.dimop(e,tp,eg,ep,ev,re,r,rp)
function c14801061.eqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)>0 then
Duel.NegateAttack()
local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and c:IsFaceup() and tc:IsRelateToEffect(e) then
if not Duel.Equip(tp,tc,c,false) then return end
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
function c14801061.sccon(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetTurnPlayer()==tp then return false end
local ph=Duel.GetCurrentPhase()
return ph==PHASE_MAIN1 or (ph>=PHASE_BATTLE_START and ph<=PHASE_BATTLE) or ph==PHASE_MAIN2
end
function c14801061.mfilter(c)
return c:IsSetCard(0x4800)
function c14801061.eqlimit(e,c)
return e:GetOwner()==c
end
function c14801061.sctg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local mg=Duel.GetMatchingGroup(c14801061.mfilter,tp,LOCATION_MZONE,0,nil)
return Duel.IsExistingMatchingCard(Card.IsSynchroSummonable,tp,LOCATION_EXTRA,0,1,nil,nil,mg)
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c14801061.scop(e,tp,eg,ep,ev,re,r,rp)
local mg=Duel.GetMatchingGroup(c14801061.mfilter,tp,LOCATION_MZONE,0,nil)
local g=Duel.GetMatchingGroup(Card.IsSynchroSummonable,tp,LOCATION_EXTRA,0,nil,nil,mg)
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,mg)
end
function c14801061.tgfilter(c,tp)
return c:IsAbleToGraveAsCost()
and Duel.IsExistingMatchingCard(c14801061.desfilter,tp,0,LOCATION_MZONE,1,nil,c:GetRace())
end
function c14801061.thcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD)
function c14801061.desfilter(c,rc)
return c:IsFaceup() and c:IsRace(rc)
end
function c14801061.thfilter(c)
return c:IsSetCard(0x4800) and not c:IsCode(14801061) and c:IsAbleToHand()
function c14801061.descost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetEquipGroup():IsExists(c14801061.tgfilter,1,nil,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=e:GetHandler():GetEquipGroup():FilterSelect(tp,c14801061.tgfilter,1,1,nil,tp)
e:SetLabel(g:GetFirst():GetRace())
Duel.SendtoGrave(g,REASON_COST)
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)
function c14801061.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local g=Duel.GetMatchingGroup(c14801061.desfilter,tp,0,LOCATION_MZONE,nil,e:GetLabel())
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),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
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)
--fusion material
c:EnableReviveLimit()
aux.AddFusionProcFun2(c,aux.FilterBoolFunction(Card.IsFusionSetCard,0x4800),aux.FilterBoolFunction(Card.IsFusionAttribute,ATTRIBUTE_WIND),true)
--spsummon condition
--Activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_SPSUMMON_CONDITION)
e1:SetValue(aux.fuslimit)
e1:SetDescription(aux.Stringid(14801075,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c14801075.target)
e1:SetOperation(c14801075.activate)
c:RegisterEffect(e1)
--indes
--salvage
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e2:SetRange(LOCATION_MZONE)
e2:SetTargetRange(LOCATION_MZONE,0)
e2:SetTarget(c14801075.imtg)
e2:SetValue(1)
e2:SetCategory(CATEGORY_TOHAND)
e2:SetDescription(aux.Stringid(14801075,1))
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetCost(c14801075.thcost)
e2:SetTarget(c14801075.thtg)
e2:SetOperation(c14801075.thop)
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
function c14801075.imtg(e,c)
return c:IsSetCard(0x4800) and not c:IsCode(14801075)
function c14801075.filter1(c,e)
return not c:IsImmuneToEffect(e)
end
function c14801075.spcon(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase()
return aux.exccon(e) and not e:GetHandler():IsStatus(STATUS_CHAINING) and Duel.GetTurnPlayer()==1-tp
and (ph>=PHASE_BATTLE_START and ph<=PHASE_BATTLE)
function c14801075.filter2(c,e,tp,m,f,chkf)
return c:IsType(TYPE_FUSION) and c:IsSetCard(0x4800) and (not f or f(c))
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
end
function c14801075.spfilter(c,e,tp)
return ((c:IsSetCard(0x4800) and c:IsType(TYPE_FUSION)) and not c:IsCode(14801075)) and c:IsCanBeSpecialSummoned(e,0,tp,true,false)
function c14801075.target(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(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
function c14801075.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c14801075.spfilter(chkc,e,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingTarget(c14801075.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
function c14801075.activate(e,tp,eg,ep,ev,re,r,rp)
local chkf=tp
local mg1=Duel.GetFusionMaterial(tp):Filter(c14801075.filter1,nil,e)
local sg1=Duel.GetMatchingGroup(c14801075.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(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 g=Duel.SelectTarget(tp,c14801075.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
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 c14801075.thfilter(c)
return c:IsSetCard(0x4800) and c:IsType(TYPE_MONSTER) and c:IsAbleToRemoveAsCost()
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.spop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.SpecialSummon(tc,0,tp,tp,true,false,POS_FACEUP)
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)
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TODECK+CATEGORY_DRAW)
e2:SetDescription(aux.Stringid(14801077,0))
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCountLimit(1,14801077)
e2:SetCondition(aux.exccon)
e2:SetTarget(c14801077.tdtg)
......
......@@ -21,9 +21,10 @@ function c24562465.initial_effect(c)
e1:SetOperation(c24562465.operation)
c:RegisterEffect(e1)
end
function c24562465.fil2(c,e,lv1,slv)
function c24562465.fil2(c,e,slv)
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
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()
......@@ -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
local mg,mlv=sg:GetMinGroup(Card.GetLevel)
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()
end
local mg,mlv=sg:GetMinGroup(Card.GetLevel)
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)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g2,2,0,0)
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)
local lv1=c:GetLevel()
if not c:IsRelateToEffect(e) then return end
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)
tg:AddCard(c)
if tg:GetCount()==0 then return end
Duel.Remove(tg,POS_FACEUP,REASON_EFFECT)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=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
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 and lv==0 then return end
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 tc=g2:GetFirst()
......
--+++++猛毒性 刺针
function c24562467.initial_effect(c)
c:EnableReviveLimit()
c:EnableCounterPermit(0x1391)
aux.AddFusionProcMix(c,true,true,24562466,c24562467.f2fil,c24562467.f3fil)
--counter
local e1=Effect.CreateEffect(c)
......@@ -14,7 +15,7 @@ function c24562467.initial_effect(c)
e4:SetDescription(aux.Stringid(24562466,0))
e4:SetCategory(CATEGORY_DAMAGE)
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_SZONE)
e4:SetRange(LOCATION_MZONE)
e4:SetCountLimit(1,24562466)
e4:SetCondition(c24562467.e4con)
e4:SetCost(c24562467.e4cost)
......@@ -79,7 +80,7 @@ function c24562467.e4cost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SendtoGrave(e:GetHandler(),REASON_COST)
end
function c24562467.e4con(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetCounter(0x9390)>=3
return e:GetHandler():GetCounter(0x1391)>=3
end
--
function c24562467.e2cfil(c)
......@@ -88,7 +89,7 @@ end
function c24562467.counter(e,tp,eg,ep,ev,re,r,rp)
local ct=eg:FilterCount(c24562467.e2cfil,nil)
if ct>0 then
e:GetHandler():AddCounter(0x9390,ct)
e:GetHandler():AddCounter(0x1391,ct)
end
end
function c24562467.f2fil(c)
......
......@@ -54,19 +54,18 @@ function c24562481.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if dmg>0 then return true end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
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_SPECIAL_SUMMON,c,1,0,0)
end
function c24562481.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
if Duel.Damage(p,d,REASON_EFFECT)~=0 then
local dmg=Duel.GetMatchingGroupCount(c24562481.e3damfil,tp,LOCATION_REMOVED,LOCATION_REMOVED,nil)
if c:IsRelateToEffect(e) then
if dmg~=0 and Duel.Damage(1-tp,dmg*100,REASON_EFFECT)~=0 then
Duel.BreakEffect()
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
end
end
--
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)
e5:SetRange(LOCATION_FZONE)
e5:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e5:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e5:SetValue(cm.sumlimit)
e5:SetTarget(cm.sumlimit)
e5:SetTargetRange(0,1)
c:RegisterEffect(e5)
local e6=e5:Clone()
......@@ -107,7 +107,7 @@ function cm.rop(e,tp,eg,ep,ev,re,r,rp)
c:ReleaseRelation(tc)
tc:ReleaseRelation(c)
end
function cm.sumlimit(e,rc,sump,sumtype,sumpos,targetp)
function cm.sumlimit(e,rc,sump,sumtype,sumpos,targetp,se)
local c=e:GetHandler()
return c:IsRelateToCard(rc) and rc:IsRelateToCard(c)
end
......
......@@ -199,7 +199,7 @@ function cm.tktg2(e,tp,eg,ep,ev,re,r,rp,chk)
end
function cm.tkop2(e,tp,eg,ep,ev,re,r,rp)
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
local token=Duel.CreateToken(tp,33310026)
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)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetReset(RESET_EVENT+0x1fe0000)
e1:SetValue(500)
e1:SetValue(300)
tc:RegisterEffect(e1)
end
end
......
......@@ -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
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
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
Duel.ConfirmCards(tp,dg2)
Duel.Draw(tp,1,REASON_EFFECT)
......
......@@ -72,7 +72,7 @@ function c65010510.tkop(e,tp,eg,ep,ev,re,r,rp)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0)
e1:SetTarget(c65010510.aclimit)
e1:SetValue(c65010510.aclimit)
e1:SetLabel(dc:GetCode())
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
......
--URBEX HINDER-暴食者
function c65010515.initial_effect(c)
--link summon
aux.AddLinkProcedure(c,nil,2,99,c65010514.lcheck)
if not pcall(function() require("expansions/script/c10199990") end) then require("script/c10199990") end
local m=65010515
local cm=_G["c"..m]
function cm.initial_effect(c)
c:EnableReviveLimit()
--link summon
local e1=Effect.CreateEffect(c)
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
c65010514.setname="URBEX"
function c65010514.lcfil(c)
return c.setname=="URBEX"
end
function c65741786.lkcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()~=tp
and (Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2)
end
function c65010515.lkfil(c,mc)
return c:IsLinkSummonable(nil,mc) and c.setname=="URBEX"
end
function c65741786.lktg(e,tp,eg,ep,ev,re,r,rp,chk)
local m=0
c:AddLinkProcedure(nil,2,3,cm.gf)
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)
end
cm.rssetcode=="URBEX"
function cm.gf(g)
return g:IsExists(rscf.CheckSetCard,1,nil,"URBEX")
end
function cm.lfilter(c,e,tp)
local rc=e:GetHandler()
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
function cm.gfilter(g,lc,mc,tp,ct)
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
function cm.mfilter(c,tp)
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
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
function c65741786.lkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsControler(1-tp) or not c:IsRelateToEffect(e) then return end
local g=Duel.GetMatchingGroup(c65010515.lkfil,tp,LOCATION_EXTRA,0,nil,c)
if g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:Select(tp,1,1,nil)
Duel.LinkSummon(tp,sg:GetFirst(),nil,c)
e:SetLabel(1)
else
e:SetLabel(0)
end
end
function cm.lfilter2(c,g,rc,tp,ct)
return g:CheckSubGroup(cm.gfilter,1,99,c,rc,tp,ct)
end
function cm.spop(e,tp)
local c=rscf.GetRelationThisCard(e)
if not c then return end
local ct=e:GetLabel()==1 and c:GetMutualLinkedGroupCount() or 0
local g=Duel.GetMatchingGroup(cm.mfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil,tp)
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
\ No newline at end of file
......@@ -6,7 +6,8 @@ function c65010516.initial_effect(c)
--effect
local e1=Effect.CreateEffect(c)
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:SetCountLimit(1,65010516)
e1:SetCost(c65010516.rmcost)
......
......@@ -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())
Duel.HintSelection(g)
local gc=g:GetFirst()
gc:AddCounter(0x11da,1)
gc:AddCounter(0x1da1,1)
end
if c:IsRelateToEffect(e) and c:IsCanTurnSet() then
Duel.BreakEffect()
......
......@@ -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())
Duel.HintSelection(g)
local gc=g:GetFirst()
gc:AddCounter(0x11da,1)
gc:AddCounter(0x1da1,1)
end
if c:IsRelateToEffect(e) and c:IsCanTurnSet() then
Duel.BreakEffect()
......
......@@ -48,15 +48,15 @@ end
function c65020025.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
c:AddCounter(0x11da,1)
c:AddCounter(0x1da1,1)
end
end
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()
end
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
Duel.RemoveCounter(tp,LOCATION_ONFIELD,LOCATION_ONFIELD,0x11da,1,REASON_COST)
if chk==0 then return Duel.GetCounter(tp,LOCATION_ONFIELD,LOCATION_ONFIELD,0x1da1)>0 end
Duel.RemoveCounter(tp,LOCATION_ONFIELD,LOCATION_ONFIELD,0x1da1,1,REASON_COST)
end
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
......@@ -76,16 +76,16 @@ function c65020025.deop(e,tp,eg,ep,ev,re,r,rp)
end
end
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
Duel.SetChainLimit(aux.FALSE)
end
end
function c65020025.winop(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsRelateToEffect(e) then
local num=e:GetHandler():GetCounter(0x11da)
local num=e:GetHandler():GetCounter(0x1da1)
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)
end
end
\ No newline at end of file
......@@ -20,7 +20,7 @@ function c65071005.initial_effect(c)
end
function c65071005.tgfil(c,e)
return c:GetCounter(0x10da)~=0
return c:GetCounter(0x1da0)~=0
end
function c65071005.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
......@@ -58,11 +58,11 @@ end
function c65071005.acop(e,tp,eg,ep,ev,re,r,rp)
local c=re:GetHandler()
if re:IsActiveType(TYPE_MONSTER) then
c:AddCounter(0x10da,1)
c:AddCounter(0x1da0,1)
end
end
function c65071005.acop2(e,tp,eg,ep,ev,re,r,rp)
local c=Duel.GetAttacker()
c:AddCounter(0x10da,1)
c:AddCounter(0x1da0,1)
end
\ No newline at end of file
......@@ -37,7 +37,7 @@ function c65071037.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
tc:AddCounter(0x10da,1)
tc:AddCounter(0x1da0,1)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_ATTACK)
......@@ -53,10 +53,10 @@ function c65071037.activate(e,tp,eg,ep,ev,re,r,rp)
end
end
function c65071037.imcon(e)
return e:GetHandler():GetCounter(0x10da)>0
return e:GetHandler():GetCounter(0x1da0)>0
end
function c65071037.defil(c,e)
return c:GetCounter(0x10da)~=0
return c:GetCounter(0x1da0)~=0
end
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)
local count=0
local tc=g:GetFirst()
while tc do
count=tc:GetCounter(0x10da)
tc:RemoveCounter(tp,0x10da,count,REASON_EFFECT)
count=tc:GetCounter(0x1da0)
tc:RemoveCounter(tp,0x1da0,count,REASON_EFFECT)
atk=atk+tc:GetAttack()
def=def+tc:GetDefense()
tc=g:GetNext()
......
--白夜失乐园
function c65071046.initial_effect(c)
c:EnableCounterPermit(0x10da)
c:SetCounterLimit(0x10da,3)
c:EnableCounterPermit(0x1da0)
c:SetCounterLimit(0x1da0,3)
--activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_COUNTER)
......@@ -78,13 +78,13 @@ function c65071046.initial_effect(c)
end
function c65071046.addct(e,tp,eg,ep,ev,re,r,rp,chk)
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
function c65071046.addc(e,tp,eg,ep,ev,re,r,rp)
local lp=Duel.GetLP(1-tp)
Duel.SetLP(1-tp,lp+8000)
if e:GetHandler():IsRelateToEffect(e) then
e:GetHandler():AddCounter(0x10da,3)
e:GetHandler():AddCounter(0x1da0,3)
end
end
function c65071046.ctfilter(c,tp)
......@@ -92,29 +92,29 @@ function c65071046.ctfilter(c,tp)
end
function c65071046.ctop(e,tp,eg,ep,ev,re,r,rp)
if eg:IsExists(c65071046.ctfilter,1,nil,tp) then
e:GetHandler():AddCounter(0x10da,1)
e:GetHandler():AddCounter(0x1da0,1)
end
end
function c65071046.imcon(e,c)
return e:GetHandler():GetCounter(0x10da)~=0
return e:GetHandler():GetCounter(0x1da0)~=0
end
function c65071046.efilter(e,te)
return te:GetOwner()~=e:GetOwner()
end
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
function c65071046.rcop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
c:RemoveCounter(tp,0x10da,1,REASON_EFFECT)
c:RemoveCounter(tp,0x1da0,1,REASON_EFFECT)
end
end
function c65071046.costcon(e,c)
return e:GetHandler():GetCounter(0x10da)==0
return e:GetHandler():GetCounter(0x1da0)==0
end
function c65071046.actarget(e,te,tp)
return te:GetHandler():IsLocation(LOCATION_HAND)
......
......@@ -20,7 +20,7 @@ function c65071055.initial_effect(c)
c:RegisterEffect(e2)
end
function c65071055.defil(c,e)
return c:GetCounter(0x10da)~=0 and c:IsFaceup()
return c:GetCounter(0x1da0)~=0 and c:IsFaceup()
end
function c65071055.detg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
......@@ -67,11 +67,11 @@ end
function c65071055.acop(e,tp,eg,ep,ev,re,r,rp)
local c=re:GetHandler()
if re:IsActiveType(TYPE_MONSTER) then
c:AddCounter(0x10da,1)
c:AddCounter(0x1da0,1)
end
end
function c65071055.acop2(e,tp,eg,ep,ev,re,r,rp)
local c=Duel.GetAttacker()
c:AddCounter(0x10da,1)
c:AddCounter(0x1da0,1)
end
\ No newline at end of file
......@@ -20,7 +20,7 @@ function c65071066.initial_effect(c)
c:RegisterEffect(e2)
end
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
function c65071066.cttg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
......@@ -63,11 +63,11 @@ end
function c65071066.acop(e,tp,eg,ep,ev,re,r,rp)
local c=re:GetHandler()
if re:IsActiveType(TYPE_MONSTER) then
c:AddCounter(0x10da,1)
c:AddCounter(0x1da0,1)
end
end
function c65071066.acop2(e,tp,eg,ep,ev,re,r,rp)
local c=Duel.GetAttacker()
c:AddCounter(0x10da,1)
c:AddCounter(0x1da0,1)
end
\ No newline at end of file
......@@ -28,7 +28,7 @@ function c65071067.initial_effect(c)
c:RegisterEffect(e4)
end
function c65071067.recon2(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetAttacker():GetCounter(0x10da)~=0
return Duel.GetAttacker():GetCounter(0x1da0)~=0
end
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)
end
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
function c65071067.retg(e,tp,eg,ep,ev,re,r,rp,chk)
......@@ -88,11 +88,11 @@ end
function c65071067.acop(e,tp,eg,ep,ev,re,r,rp)
local c=re:GetHandler()
if re:IsActiveType(TYPE_MONSTER) then
c:AddCounter(0x10da,1)
c:AddCounter(0x1da0,1)
end
end
function c65071067.acop2(e,tp,eg,ep,ev,re,r,rp)
local c=Duel.GetAttacker()
c:AddCounter(0x10da,1)
c:AddCounter(0x1da0,1)
end
\ No newline at end of file
......@@ -19,7 +19,7 @@ function c65071070.initial_effect(c)
c:RegisterEffect(e2)
end
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.Remove(e:GetHandler(),POS_FACEUP,REASON_COST)
end
......@@ -66,11 +66,11 @@ end
function c65071070.acop(e,tp,eg,ep,ev,re,r,rp)
local c=re:GetHandler()
if re:IsActiveType(TYPE_MONSTER) then
c:AddCounter(0x10da,1)
c:AddCounter(0x1da0,1)
end
end
function c65071070.acop2(e,tp,eg,ep,ev,re,r,rp)
local c=Duel.GetAttacker()
c:AddCounter(0x10da,1)
c:AddCounter(0x1da0,1)
end
\ No newline at end of file
......@@ -191,12 +191,12 @@ function c65071073.addct(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local mc=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
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
function c65071073.addc(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc and tc:IsFaceup() and tc:IsRelateToEffect(e) then
tc:AddCounter(0x10da,1)
tc:AddCounter(0x1da0,1)
--indes
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
......@@ -213,11 +213,11 @@ function c65071073.addc(e,tp,eg,ep,ev,re,r,rp)
e:GetHandler():RegisterFlagEffect(65071073,RESET_EVENT+0x1ec0000,0,0)
end
function c65071073.indcon(e)
return e:GetHandler():GetCounter(0x10da)>0
return e:GetHandler():GetCounter(0x1da0)>0
end
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
function c65071073.eftg(e,c)
......
......@@ -64,7 +64,7 @@ function c65071106.eqop(e,tp,eg,ep,ev,re,r,rp)
end
function c65071106.confil(c,e)
return c:GetCounter(0x10da)==0
return c:GetCounter(0x1da0)==0
end
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)
Duel.HintSelection(g2)
local tc1=g1:GetFirst()
local tc2=g1:GetFirst()
tc1:AddCounter(0x10da,1)
tc2:AddCounter(0x10da,1)
tc1:AddCounter(0x1da0,1)
tc2:AddCounter(0x1da0,1)
end
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)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,PLAYER_ALL,0)
end
function c65071106.tgfil(c,e)
return c:GetCounter(0x10da)>0
return c:GetCounter(0x1da0)>0
end
function c65071106.tgop(e,tp,eg,ep,ev,re,r,rp)
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)
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)
e:GetHandler():AddCounter(0x10da,1)
e:GetHandler():AddCounter(0x1da0,1)
end
function c65071108.discon(e,c)
return e:GetHandler():GetCounter(0x10da)>0
return e:GetHandler():GetCounter(0x1da0)>0
end
function c65071108.imcon(e,c)
return e:GetHandler():GetCounter(0x10da)>=2
return e:GetHandler():GetCounter(0x1da0)>=2
end
function c65071108.efilter(e,te)
......@@ -79,7 +79,7 @@ function c65071108.efilter(e,te)
end
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
function c65071108.retg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
......@@ -99,6 +99,6 @@ function c65071108.reop(e,tp,eg,ep,ev,re,r,rp)
end
end
Duel.BreakEffect()
local num=c:GetCounter(0x10da)
c:RemoveCounter(tp,0x10da,num,REASON_EFFECT)
local num=c:GetCounter(0x1da0)
c:RemoveCounter(tp,0x1da0,num,REASON_EFFECT)
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