Commit d612f065 authored by mercury233's avatar mercury233

fix

parent a28db5e2
#The first line is used for comment #The first line is used for comment
!counter 0x161 指示物(机巧传-神使记纪图) !counter 0x105c 燃烧指示物
!counter 0x1162 燃烧指示物 !counter 0x5d 指示物(机巧传-神使记纪图)
!victory 0x21 「混沌虚数No.1000 梦幻虚光神 原数天灵·原数天地」特殊胜利 !victory 0x21 「混沌虚数No.1000 梦幻虚光神 原数天灵·原数天地」特殊胜利
!setname 0x266 魔键 !setname 0x164 死狱乡 デスピア
!setname 0x267 军贯 !setname 0x165 魔键 魔鍵
!setname 0x1268 森之圣兽 !setname 0x166 军贯 軍貫
!setname 0x2268 森之圣灵 !setname 0x1167 森之圣兽 森の聖獣
!setname 0x269 死狱乡 !setname 0x2167 森之圣灵 森の聖霊
...@@ -12,9 +12,11 @@ function c100200199.initial_effect(c) ...@@ -12,9 +12,11 @@ function c100200199.initial_effect(c)
e1:SetCategory(CATEGORY_ATKCHANGE) e1:SetCategory(CATEGORY_ATKCHANGE)
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetHintTiming(0,TIMING_END_PHASE) e1:SetHintTiming(TIMING_DAMAGE_STEP)
e1:SetCountLimit(1) e1:SetCountLimit(1)
e1:SetCondition(aux.dscon)
e1:SetCost(c100200199.atkcost) e1:SetCost(c100200199.atkcost)
e1:SetOperation(c100200199.atkop) e1:SetOperation(c100200199.atkop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
......
...@@ -30,7 +30,7 @@ function c101105004.initial_effect(c) ...@@ -30,7 +30,7 @@ function c101105004.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c101105004.cfilter(c,tp) function c101105004.cfilter(c,tp)
return c:IsFaceup() and c:IsSetCard(0x269) and c:IsControler(tp) and c:IsOnField() return c:IsFaceup() and c:IsSetCard(0x164) and c:IsControler(tp) and c:IsOnField()
end end
function c101105004.discon(e,tp,eg,ep,ev,re,r,rp) function c101105004.discon(e,tp,eg,ep,ev,re,r,rp)
if not (rp==1-tp and re:IsHasProperty(EFFECT_FLAG_CARD_TARGET)) then return false end if not (rp==1-tp and re:IsHasProperty(EFFECT_FLAG_CARD_TARGET)) then return false end
...@@ -42,7 +42,7 @@ function c101105004.discost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -42,7 +42,7 @@ function c101105004.discost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SendtoGrave(e:GetHandler(),REASON_COST+REASON_DISCARD) Duel.SendtoGrave(e:GetHandler(),REASON_COST+REASON_DISCARD)
end end
function c101105004.distg(e,tp,eg,ep,ev,re,r,rp,chk) function c101105004.distg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return not re:GetHandler():IsDisabled() end
Duel.SetOperationInfo(0,CATEGORY_DISABLE,eg,1,0,0) Duel.SetOperationInfo(0,CATEGORY_DISABLE,eg,1,0,0)
end end
function c101105004.disop(e,tp,eg,ep,ev,re,r,rp) function c101105004.disop(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -33,7 +33,7 @@ function c101105005.thcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -33,7 +33,7 @@ function c101105005.thcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsReason(REASON_EFFECT) return e:GetHandler():IsReason(REASON_EFFECT)
end end
function c101105005.thfilter(c) function c101105005.thfilter(c)
return c:IsSetCard(0x269) and not c:IsCode(101105005) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand() return c:IsSetCard(0x164) and not c:IsCode(101105005) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
end end
function c101105005.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function c101105005.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c101105005.thfilter,tp,LOCATION_DECK,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c101105005.thfilter,tp,LOCATION_DECK,0,1,nil) end
......
...@@ -70,7 +70,7 @@ function c101105006.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -70,7 +70,7 @@ function c101105006.spop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if not c:IsRelateToEffect(e) then return end if not c:IsRelateToEffect(e) then return end
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)>0 then if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)>0 then
if tc:IsFaceup() and tc:IsRelateToEffect(e) then if tc:IsFaceup() and tc:IsRelateToEffect(e) and not tc:IsDisabled() then
Duel.NegateRelatedChain(tc,RESET_TURN_SET) Duel.NegateRelatedChain(tc,RESET_TURN_SET)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
......
...@@ -47,16 +47,18 @@ end ...@@ -47,16 +47,18 @@ end
function c101105007.disop(e,tp,eg,ep,ev,re,r,rp) function c101105007.disop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsFaceup() and tc:IsRelateToEffect(e) then if tc:IsFaceup() and tc:IsRelateToEffect(e) and not tc:IsDisabled() then
Duel.NegateRelatedChain(tc,RESET_TURN_SET) Duel.NegateRelatedChain(tc,RESET_TURN_SET)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE) e1:SetCode(EFFECT_DISABLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT) e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetValue(RESET_TURN_SET) e2:SetValue(RESET_TURN_SET)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e2) tc:RegisterEffect(e2)
......
...@@ -19,8 +19,10 @@ function c101105008.costfilter(c) ...@@ -19,8 +19,10 @@ function c101105008.costfilter(c)
end end
function c101105008.target(e,tp,eg,ep,ev,re,r,rp,chk) function c101105008.target(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
local b1=Duel.IsExistingMatchingCard(c101105008.costfilter,tp,LOCATION_HAND,0,1,c) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false) local b1=Duel.IsExistingMatchingCard(c101105008.costfilter,tp,LOCATION_HAND,0,1,c)
local b2=Duel.IsExistingMatchingCard(c101105008.costfilter,tp,LOCATION_DECK,0,1,nil) and c:IsAbleToDeck() and (c:IsLocation(LOCATION_GRAVE) or Duel.IsPlayerCanDraw(tp,1)) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
local b2=Duel.IsExistingMatchingCard(c101105008.costfilter,tp,LOCATION_DECK,0,1,nil)
and c:IsAbleToDeck() and (c:IsLocation(LOCATION_GRAVE) or Duel.IsPlayerCanDraw(tp,1))
if chk==0 then return b1 or b2 end if chk==0 then return b1 or b2 end
local g=Group.CreateGroup() local g=Group.CreateGroup()
local g1=Duel.GetMatchingGroup(c101105008.costfilter,tp,LOCATION_HAND,0,c) local g1=Duel.GetMatchingGroup(c101105008.costfilter,tp,LOCATION_HAND,0,c)
......
...@@ -29,7 +29,7 @@ function c101105009.initial_effect(c) ...@@ -29,7 +29,7 @@ function c101105009.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c101105009.cfilter(c) function c101105009.cfilter(c)
return c:IsFaceup() and c:IsDisabled() return c:IsFaceup() and c:IsDisabled() and c:IsType(TYPE_EFFECT)
end end
function c101105009.spcon(e,tp,eg,ep,ev,re,r,rp) function c101105009.spcon(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase() local ph=Duel.GetCurrentPhase()
......
...@@ -43,8 +43,8 @@ function c101105012.filter(c,e,tp,ft) ...@@ -43,8 +43,8 @@ function c101105012.filter(c,e,tp,ft)
end end
function c101105012.operation(e,tp,eg,ep,ev,re,r,rp) function c101105012.operation(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetDecktopGroup(tp,3) local g=Duel.GetDecktopGroup(tp,3)
Duel.ConfirmDecktop(tp,3) if #g==3 then
if #g>0 then Duel.ConfirmDecktop(tp,3)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
local tg=g:Filter(c101105012.filter,nil,e,tp,ft) local tg=g:Filter(c101105012.filter,nil,e,tp,ft)
if #tg>0 and Duel.SelectYesNo(tp,aux.Stringid(101105012,1)) then if #tg>0 and Duel.SelectYesNo(tp,aux.Stringid(101105012,1)) then
......
...@@ -68,7 +68,7 @@ function c101105014.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -68,7 +68,7 @@ function c101105014.spop(e,tp,eg,ep,ev,re,r,rp)
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 then if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 then
local fid=c:GetFieldID() local fid=c:GetFieldID()
c:RegisterFlagEffect(101105014,RESET_EVENT+RESETS_STANDARD,0,1,fid) c:RegisterFlagEffect(101105014,RESET_EVENT+RESETS_STANDARD,0,1,fid)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END) e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1) e1:SetCountLimit(1)
......
...@@ -63,7 +63,7 @@ function c101105018.tgtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -63,7 +63,7 @@ function c101105018.tgtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingTarget(c101105018.tcfilter,tp,LOCATION_MZONE,0,1,nil,tp) end if chk==0 then return Duel.IsExistingTarget(c101105018.tcfilter,tp,LOCATION_MZONE,0,1,nil,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local g=Duel.SelectTarget(tp,c101105018.tcfilter,tp,LOCATION_MZONE,0,1,1,nil,tp) local g=Duel.SelectTarget(tp,c101105018.tcfilter,tp,LOCATION_MZONE,0,1,1,nil,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND) Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_DECK)
end end
function c101105018.tgop(e,tp,eg,ep,ev,re,r,rp) function c101105018.tgop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
......
...@@ -3,32 +3,32 @@ ...@@ -3,32 +3,32 @@
--Scripted by mallu11 --Scripted by mallu11
function c101105019.initial_effect(c) function c101105019.initial_effect(c)
--special summon --special summon
local e3=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(101105019,0)) e1:SetDescription(aux.Stringid(101105019,0))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP) e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e3:SetCode(EVENT_CUSTOM+101105019) e1:SetCode(EVENT_CUSTOM+101105019)
e3:SetRange(LOCATION_HAND) e1:SetRange(LOCATION_HAND)
e3:SetCountLimit(1,101105019) e1:SetCountLimit(1,101105019)
e3:SetCondition(c101105019.spcon) e1:SetCondition(c101105019.spcon)
e3:SetTarget(c101105019.sptg) e1:SetTarget(c101105019.sptg)
e3:SetOperation(c101105019.spop) e1:SetOperation(c101105019.spop)
c:RegisterEffect(e3) c:RegisterEffect(e1)
--to grave --to grave
local e4=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(101105019,1)) e2:SetDescription(aux.Stringid(101105019,1))
e4:SetCategory(CATEGORY_TOGRAVE+CATEGORY_SPECIAL_SUMMON) e2:SetCategory(CATEGORY_TOGRAVE+CATEGORY_SPECIAL_SUMMON)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e4:SetCode(EVENT_SUMMON_SUCCESS) e2:SetCode(EVENT_SUMMON_SUCCESS)
e4:SetProperty(EFFECT_FLAG_DELAY) e2:SetProperty(EFFECT_FLAG_DELAY)
e4:SetCountLimit(1,101105119) e2:SetCountLimit(1,101105119)
e4:SetTarget(c101105019.tgtg) e2:SetTarget(c101105019.tgtg)
e4:SetOperation(c101105019.tgop) e2:SetOperation(c101105019.tgop)
c:RegisterEffect(e4) c:RegisterEffect(e2)
local e5=e4:Clone() local e3=e2:Clone()
e5:SetCode(EVENT_SPSUMMON_SUCCESS) e3:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e5) c:RegisterEffect(e3)
if not c101105019.global_check then if not c101105019.global_check then
c101105019.global_check=true c101105019.global_check=true
local ge1=Effect.CreateEffect(c) local ge1=Effect.CreateEffect(c)
...@@ -97,7 +97,10 @@ function c101105019.tgop(e,tp,eg,ep,ev,re,r,rp) ...@@ -97,7 +97,10 @@ function c101105019.tgop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c101105019.tgfilter,tp,LOCATION_DECK,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c101105019.tgfilter,tp,LOCATION_DECK,0,1,1,nil)
local tc=g:GetFirst() local tc=g:GetFirst()
if tc and Duel.SendtoGrave(tc,REASON_EFFECT)~=0 and tc:IsLocation(LOCATION_GRAVE) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(c101105019.spfilter,tp,LOCATION_HAND,0,1,nil,e,tp) and Duel.SelectYesNo(tp,aux.Stringid(101105019,2)) then if tc and Duel.SendtoGrave(tc,REASON_EFFECT)~=0 and tc:IsLocation(LOCATION_GRAVE)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c101105019.spfilter,tp,LOCATION_HAND,0,1,nil,e,tp)
and Duel.SelectYesNo(tp,aux.Stringid(101105019,2)) then
Duel.BreakEffect() Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=Duel.SelectMatchingCard(tp,c101105019.spfilter,tp,LOCATION_HAND,0,1,1,nil,e,tp) local sg=Duel.SelectMatchingCard(tp,c101105019.spfilter,tp,LOCATION_HAND,0,1,1,nil,e,tp)
......
...@@ -37,7 +37,7 @@ end ...@@ -37,7 +37,7 @@ end
function c101105020.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c101105020.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end end
function c101105020.spop(e,tp,eg,ep,ev,re,r,rp) function c101105020.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -32,7 +32,7 @@ function c101105021.ctfilter(c) ...@@ -32,7 +32,7 @@ function c101105021.ctfilter(c)
return c:IsFaceup() and c:IsCanAddCounter(0x100e,2) return c:IsFaceup() and c:IsCanAddCounter(0x100e,2)
end end
function c101105021.cttg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c101105021.cttg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and c101105021.ctfilter(chkc) end if chkc then return chkc:IsLocation(LOCATION_MZONE) and c101105021.ctfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c101105021.ctfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end if chk==0 then return Duel.IsExistingTarget(c101105021.ctfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_COUNTER) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_COUNTER)
local g=Duel.SelectTarget(tp,c101105021.ctfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil) local g=Duel.SelectTarget(tp,c101105021.ctfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
...@@ -41,7 +41,7 @@ end ...@@ -41,7 +41,7 @@ end
function c101105021.ctop(e,tp,eg,ep,ev,re,r,rp) function c101105021.ctop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then if tc:IsFaceup() and tc:IsRelateToEffect(e) then
tc:AddCounter(0x100e,2) tc:AddCounter(0x100e,2)
end end
end end
......
...@@ -32,11 +32,11 @@ end ...@@ -32,11 +32,11 @@ end
function c101105022.spcon(e,tp,eg,ep,ev,re,r,rp) function c101105022.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsPreviousLocation(LOCATION_HAND) return e:GetHandler():IsPreviousLocation(LOCATION_HAND)
end end
function c101105022.tdfilter(c) function c101105022.tdfilter(c,e)
return c:IsRace(RACE_BEAST+RACE_BEASTWARRIOR+RACE_WINDBEAST+RACE_INSECT+RACE_PLANT) return c:IsRace(RACE_BEAST+RACE_BEASTWARRIOR+RACE_WINDBEAST+RACE_INSECT+RACE_PLANT) and c:IsCanBeEffectTarget(e)
end end
function c101105022.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c101105022.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local g=Duel.GetMatchingGroup(c101105022.tdfilter,tp,LOCATION_GRAVE,0,e:GetHandler()):Filter(Card.IsCanBeEffectTarget,nil,e) local g=Duel.GetMatchingGroup(c101105022.tdfilter,tp,LOCATION_GRAVE,0,e:GetHandler(),e)
if chkc then return false end if chkc then return false end
if chk==0 then return g:CheckSubGroup(aux.drccheck,2,2) if chk==0 then return g:CheckSubGroup(aux.drccheck,2,2)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
...@@ -58,7 +58,7 @@ function c101105022.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -58,7 +58,7 @@ function c101105022.spop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c101105022.thfilter(c) function c101105022.thfilter(c)
return c:IsSetCard(0x1268,0x2268) and c:IsType(TYPE_MONSTER) and not c:IsCode(101105022) and c:IsAbleToHand() return c:IsSetCard(0x1167,0x2167) and c:IsType(TYPE_MONSTER) and not c:IsCode(101105022) and c:IsAbleToHand()
end end
function c101105022.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function c101105022.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c101105022.thfilter,tp,LOCATION_DECK,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c101105022.thfilter,tp,LOCATION_DECK,0,1,nil) end
......
...@@ -35,6 +35,7 @@ function c101105024.initial_effect(c) ...@@ -35,6 +35,7 @@ function c101105024.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--to graveyard --to graveyard
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(101105024,1))
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e3:SetCode(EVENT_SUMMON_SUCCESS) e3:SetCode(EVENT_SUMMON_SUCCESS)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
...@@ -57,7 +58,8 @@ function c101105024.tefilter(c) ...@@ -57,7 +58,8 @@ function c101105024.tefilter(c)
end end
function c101105024.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c101105024.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return Duel.IsExistingMatchingCard(c101105024.tefilter,tp,LOCATION_HAND+LOCATION_PZONE,0,1,c) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.IsExistingMatchingCard(c101105024.tefilter,tp,LOCATION_HAND+LOCATION_PZONE,0,1,c)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_TOEXTRA,nil,1,tp,LOCATION_HAND+LOCATION_PZONE) Duel.SetOperationInfo(0,CATEGORY_TOEXTRA,nil,1,tp,LOCATION_HAND+LOCATION_PZONE)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
...@@ -79,8 +81,11 @@ function c101105024.tgtg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -79,8 +81,11 @@ function c101105024.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
local g=eg:Filter(Card.IsLocation,nil,LOCATION_MZONE) local g=eg:Filter(Card.IsLocation,nil,LOCATION_MZONE)
Duel.SetTargetCard(g) Duel.SetTargetCard(g)
end end
function c101105024.tgfilter(c,e)
return c:IsRelateToEffect(e) and not c:IsImmuneToEffect(e)
end
function c101105024.tgop(e,tp,eg,ep,ev,re,r,rp) function c101105024.tgop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e):Filter(aux.NOT(Card.IsImmuneToEffect),nil,e) local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(c101105024.tgfilter,nil,e)
if g:GetCount()>0 then if g:GetCount()>0 then
local tc=g:GetFirst() local tc=g:GetFirst()
while tc do while tc do
......
...@@ -75,7 +75,8 @@ function c101105025.posfilter(c) ...@@ -75,7 +75,8 @@ function c101105025.posfilter(c)
end end
function c101105025.rmtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c101105025.rmtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return false end if chkc then return false end
if chk==0 then return Duel.IsExistingTarget(c101105025.rmfilter,tp,0,LOCATION_ONFIELD,1,nil) and Duel.IsExistingTarget(c101105025.posfilter,tp,LOCATION_MZONE,0,1,nil) end if chk==0 then return Duel.IsExistingTarget(c101105025.rmfilter,tp,0,LOCATION_ONFIELD,1,nil)
and Duel.IsExistingTarget(c101105025.posfilter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g1=Duel.SelectTarget(tp,c101105025.rmfilter,tp,0,LOCATION_ONFIELD,1,1,nil) local g1=Duel.SelectTarget(tp,c101105025.rmfilter,tp,0,LOCATION_ONFIELD,1,1,nil)
e:SetLabelObject(g1:GetFirst()) e:SetLabelObject(g1:GetFirst())
...@@ -89,7 +90,9 @@ function c101105025.rmop(e,tp,eg,ep,ev,re,r,rp) ...@@ -89,7 +90,9 @@ function c101105025.rmop(e,tp,eg,ep,ev,re,r,rp)
local tg=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS) local tg=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
local lc=tg:GetFirst() local lc=tg:GetFirst()
if lc==tc then lc=tg:GetNext() end if lc==tc then lc=tg:GetNext() end
if tc:IsRelateToEffect(e) and tc:IsControler(1-tp) and Duel.Remove(tc,POS_FACEUP,REASON_EFFECT)~=0 and tc:IsLocation(LOCATION_REMOVED) and lc:IsRelateToEffect(e) and lc:IsControler(tp) then if tc:IsRelateToEffect(e) and tc:IsControler(1-tp)
and Duel.Remove(tc,POS_FACEUP,REASON_EFFECT)~=0 and tc:IsLocation(LOCATION_REMOVED)
and lc:IsRelateToEffect(e) and lc:IsControler(tp) then
Duel.ChangePosition(lc,POS_FACEUP_DEFENSE,POS_FACEDOWN_DEFENSE,POS_FACEUP_DEFENSE,POS_FACEDOWN_DEFENSE) Duel.ChangePosition(lc,POS_FACEUP_DEFENSE,POS_FACEDOWN_DEFENSE,POS_FACEUP_DEFENSE,POS_FACEDOWN_DEFENSE)
end end
end end
......
...@@ -12,53 +12,42 @@ function c101105028.initial_effect(c) ...@@ -12,53 +12,42 @@ function c101105028.initial_effect(c)
e1:SetTarget(c101105028.rmtg) e1:SetTarget(c101105028.rmtg)
e1:SetOperation(c101105028.rmop) e1:SetOperation(c101105028.rmop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--handle the e1 --to grave
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e2:SetDescription(aux.Stringid(101105028,1))
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e2:SetCategory(CATEGORY_TOGRAVE)
e2:SetCode(EVENT_REMOVE) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e2:SetOperation(c101105028.regop) e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetCountLimit(1,101105028)
e2:SetCondition(c101105028.tgcon)
e2:SetTarget(c101105028.tgtg)
e2:SetOperation(c101105028.tgop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--to grave --special summon
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(101105028,1)) e3:SetDescription(aux.Stringid(101105028,2))
e3:SetCategory(CATEGORY_TOGRAVE) e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_SPSUMMON_SUCCESS) e3:SetRange(LOCATION_REMOVED)
e3:SetCountLimit(1,101105028) e3:SetCode(EVENT_PHASE+PHASE_END)
e3:SetCondition(c101105028.tgcon) e3:SetCountLimit(1,101105028+100)
e3:SetTarget(c101105028.tgtg) e3:SetCondition(c101105028.spcon)
e3:SetOperation(c101105028.tgop) e3:SetTarget(c101105028.sptg)
e3:SetOperation(c101105028.spop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--special summon --handle the e3
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(101105028,2)) e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e4:SetCategory(CATEGORY_SPECIAL_SUMMON) e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e4:SetCode(EVENT_REMOVE)
e4:SetRange(LOCATION_REMOVED) e4:SetOperation(c101105028.regop)
e4:SetCode(EVENT_PHASE+PHASE_END)
e4:SetCountLimit(1,101105028+100)
e4:SetCondition(c101105028.spcon)
e4:SetTarget(c101105028.sptg)
e4:SetOperation(c101105028.spop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
--workaround
if not Card.IsMonster then
function Card.IsMonster(c)
return c:IsType(TYPE_MONSTER)
end
end
if not Card.IsSpellTrap then
function Card.IsSpellTrap(c)
return c:IsType(TYPE_SPELL|TYPE_TRAP)
end
end
end end
function c101105028.rmcon(e,tp,eg,ep,ev,re,r,rp) function c101105028.rmcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetMatchingGroupCount(Card.IsMonster,tp,0,LOCATION_GRAVE,nil)>Duel.GetMatchingGroupCount(Card.IsSpellTrap,tp,0,LOCATION_GRAVE,nil) return Duel.GetMatchingGroupCount(Card.IsType,tp,0,LOCATION_GRAVE,nil,TYPE_MONSTER)>Duel.GetMatchingGroupCount(Card.IsType,tp,0,LOCATION_GRAVE,nil,TYPE_SPELL+TYPE_TRAP)
end end
function c101105028.rmfilter(c) function c101105028.rmfilter(c)
return c:IsMonster() and c:IsAbleToRemove() return c:IsType(TYPE_MONSTER) and c:IsAbleToRemove()
end end
function c101105028.rmtg(e,tp,eg,ep,ev,re,r,rp,chk) function c101105028.rmtg(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(c101105028.rmfilter,tp,0,LOCATION_GRAVE,nil) local g=Duel.GetMatchingGroup(c101105028.rmfilter,tp,0,LOCATION_GRAVE,nil)
...@@ -78,10 +67,10 @@ function c101105028.rmop(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -78,10 +67,10 @@ function c101105028.rmop(e,tp,eg,ep,ev,re,r,rp,chk)
end end
end end
function c101105028.tgcon(e,tp,eg,ep,ev,re,r,rp) function c101105028.tgcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetMatchingGroupCount(Card.IsSpellTrap,tp,0,LOCATION_GRAVE,nil)>Duel.GetMatchingGroupCount(Card.IsMonster,tp,0,LOCATION_GRAVE,nil) return Duel.GetMatchingGroupCount(Card.IsType,tp,0,LOCATION_GRAVE,nil,TYPE_MONSTER)<Duel.GetMatchingGroupCount(Card.IsType,tp,0,LOCATION_GRAVE,nil,TYPE_SPELL+TYPE_TRAP)
end end
function c101105028.tgfilter(c) function c101105028.tgfilter(c)
return c:IsMonster() and c:IsAbleToGrave() return c:IsType(TYPE_MONSTER) and c:IsAbleToGrave()
end end
function c101105028.tgtg(e,tp,eg,ep,ev,re,r,rp,chk) function c101105028.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(c101105028.tgfilter,tp,0,LOCATION_MZONE,nil) local g=Duel.GetMatchingGroup(c101105028.tgfilter,tp,0,LOCATION_MZONE,nil)
......
...@@ -18,7 +18,7 @@ function c101105029.initial_effect(c) ...@@ -18,7 +18,7 @@ function c101105029.initial_effect(c)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCost(c101105029.cost) e2:SetCost(c101105029.cost)
e2:SetOperation(c101105029.operation) e2:SetOperation(c101105029.operation)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c101105029.spfilter1(c) function c101105029.spfilter1(c)
return c:IsFaceup() and c:IsLevelAbove(0) return c:IsFaceup() and c:IsLevelAbove(0)
......
...@@ -28,7 +28,7 @@ function c101105031.initial_effect(c) ...@@ -28,7 +28,7 @@ function c101105031.initial_effect(c)
end end
function c101105031.seqfilter(c,e,tp) function c101105031.seqfilter(c,e,tp)
local g=e:GetHandler():GetColumnGroup() local g=e:GetHandler():GetColumnGroup()
if not (c:IsFaceup() and g:IsContains(c) and c:IsCanAddCounter(0x1162,1)) then return false end if not (c:IsFaceup() and g:IsContains(c) and c:IsCanAddCounter(0x105c,1)) then return false end
for i=0,4 do for i=0,4 do
local s1=Duel.CheckLocation(tp,LOCATION_MZONE,i) local s1=Duel.CheckLocation(tp,LOCATION_MZONE,i)
local s2=Duel.CheckLocation(1-tp,LOCATION_MZONE,4-i) local s2=Duel.CheckLocation(1-tp,LOCATION_MZONE,4-i)
...@@ -67,10 +67,10 @@ function c101105031.seqop(e,tp,eg,ep,ev,re,r,rp) ...@@ -67,10 +67,10 @@ function c101105031.seqop(e,tp,eg,ep,ev,re,r,rp)
Duel.MoveSequence(tc,seq2) Duel.MoveSequence(tc,seq2)
if tc:IsFaceup() then if tc:IsFaceup() then
Duel.BreakEffect() Duel.BreakEffect()
tc:AddCounter(0x1162,1) tc:AddCounter(0x105c,1)
end end
end end
end end
function c101105031.atkval(e,c) function c101105031.atkval(e,c)
return c:GetCounter(0x1162)*-200 return c:GetCounter(0x105c)*-200
end end
...@@ -32,7 +32,7 @@ function c101105032.srcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -32,7 +32,7 @@ function c101105032.srcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_RITUAL) return e:GetHandler():IsSummonType(SUMMON_TYPE_RITUAL)
end end
function c101105032.srfilter(c) function c101105032.srfilter(c)
return c:IsSetCard(0x266) and c:IsAbleToHand() return c:IsSetCard(0x165) and c:IsAbleToHand()
end end
function c101105032.srtg(e,tp,eg,ep,ev,re,r,rp,chk) function c101105032.srtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c101105032.srfilter,tp,LOCATION_DECK,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c101105032.srfilter,tp,LOCATION_DECK,0,1,nil) end
...@@ -47,7 +47,7 @@ function c101105032.srop(e,tp,eg,ep,ev,re,r,rp) ...@@ -47,7 +47,7 @@ function c101105032.srop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c101105032.cfilter(c,attr) function c101105032.cfilter(c,attr)
return (c:IsType(TYPE_NORMAL) or c:IsSetCard(0x266)) and c:IsAttribute(attr) return (c:IsType(TYPE_NORMAL) or c:IsSetCard(0x165)) and c:IsAttribute(attr)
end end
function c101105032.discon(e,tp,eg,ep,ev,re,r,rp) function c101105032.discon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -23,6 +23,7 @@ function c101105033.initial_effect(c) ...@@ -23,6 +23,7 @@ function c101105033.initial_effect(c)
e2:SetCategory(CATEGORY_NEGATE+CATEGORY_DESTROY) e2:SetCategory(CATEGORY_NEGATE+CATEGORY_DESTROY)
e2:SetType(EFFECT_TYPE_QUICK_O) e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_CHAINING) e2:SetCode(EVENT_CHAINING)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,101105033) e2:SetCountLimit(1,101105033)
e2:SetCondition(c101105033.condition) e2:SetCondition(c101105033.condition)
...@@ -92,16 +93,16 @@ function c101105033.thcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -92,16 +93,16 @@ function c101105033.thcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
return c:IsPreviousLocation(LOCATION_MZONE) and c:IsSummonType(SUMMON_TYPE_RITUAL) return c:IsPreviousLocation(LOCATION_MZONE) and c:IsSummonType(SUMMON_TYPE_RITUAL)
end end
function c101105033.thfilter(c,tp) function c101105033.thfilter(c)
return c:IsSetCard(0x266) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand() return c:IsSetCard(0x165) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
end end
function c101105033.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function c101105033.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c101105033.thfilter,tp,LOCATION_DECK,0,1,nil,tp) end if chk==0 then return Duel.IsExistingMatchingCard(c101105033.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end end
function c101105033.thop(e,tp,eg,ep,ev,re,r,rp) function c101105033.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local hg=Duel.SelectMatchingCard(tp,c101105033.thfilter,tp,LOCATION_DECK,0,1,1,nil,tp) local hg=Duel.SelectMatchingCard(tp,c101105033.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if hg:GetCount()>0 then if hg:GetCount()>0 then
Duel.SendtoHand(hg,tp,REASON_EFFECT) Duel.SendtoHand(hg,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,hg) Duel.ConfirmCards(1-tp,hg)
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
function c101105034.initial_effect(c) function c101105034.initial_effect(c)
--fusion summon --fusion summon
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddFusionProcFun2(c,aux.FilterBoolFunction(Card.IsFusionSetCard,0x269),c101105034.matfilter,true) aux.AddFusionProcFun2(c,aux.FilterBoolFunction(Card.IsFusionSetCard,0x164),c101105034.matfilter,true)
--atk change --atk change
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(101105034,0)) e1:SetDescription(aux.Stringid(101105034,0))
...@@ -21,7 +21,7 @@ function c101105034.initial_effect(c) ...@@ -21,7 +21,7 @@ function c101105034.initial_effect(c)
--special summon --special summon
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(101105034,1)) e2:SetDescription(aux.Stringid(101105034,1))
e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND+CATEGORY_DECKDES) e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOHAND+CATEGORY_SEARCH)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_DELAY) e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_LEAVE_FIELD) e2:SetCode(EVENT_LEAVE_FIELD)
...@@ -41,8 +41,11 @@ end ...@@ -41,8 +41,11 @@ end
function c101105034.atkfilter(c) function c101105034.atkfilter(c)
return c:IsFaceup() and not (c:IsLevelAbove(8) and c:IsType(TYPE_FUSION)) return c:IsFaceup() and not (c:IsLevelAbove(8) and c:IsType(TYPE_FUSION))
end end
function c101105034.atkfilter1(c)
return c101105034.atkfilter(c) and c:GetAttack()>0
end
function c101105034.atktg(e,tp,eg,ep,ev,re,r,rp,chk) function c101105034.atktg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c101105034.atkfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c101105034.atkfilter1,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
end end
function c101105034.atkop(e,tp,eg,ep,ev,re,r,rp) function c101105034.atkop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c101105034.atkfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil) local g=Duel.GetMatchingGroup(c101105034.atkfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
...@@ -58,10 +61,10 @@ function c101105034.atkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -58,10 +61,10 @@ function c101105034.atkop(e,tp,eg,ep,ev,re,r,rp)
end end
function c101105034.thcon(e,tp,eg,ep,ev,re,r,rp) function c101105034.thcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
return rp==1-tp and c:IsReason(REASON_EFFECT) and c:IsPreviousPosition(POS_FACEUP) and c:IsPreviousLocation(LOCATION_MZONE) return rp==1-tp and c:IsReason(REASON_EFFECT) and c:IsPreviousPosition(POS_FACEUP) and c:IsPreviousControler(tp)
end end
function c101105034.thfilter(c,e,tp,check) function c101105034.thfilter(c,e,tp,check)
return c:IsSetCard(0x269) and c:IsType(TYPE_MONSTER) or c:IsCode(68468459) return (c:IsSetCard(0x164) and c:IsType(TYPE_MONSTER) or c:IsCode(68468459))
and (c:IsAbleToHand() or check and c:IsCanBeSpecialSummoned(e,0,tp,false,false)) and (c:IsAbleToHand() or check and c:IsCanBeSpecialSummoned(e,0,tp,false,false))
end end
function c101105034.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function c101105034.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
function c101105035.initial_effect(c) function c101105035.initial_effect(c)
--fusion procedure --fusion procedure
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddFusionProcMix(c,false,true,aux.FilterBoolFunction(Card.IsFusionSetCard,0x269),c101105035.matfilter1,c101105035.matfilter2,nil) aux.AddFusionProcMix(c,false,true,aux.FilterBoolFunction(Card.IsFusionSetCard,0x164),c101105035.matfilter1,c101105035.matfilter2,nil)
--special summon or banish --special summon or banish
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(101105035,0)) e1:SetDescription(aux.Stringid(101105035,0))
...@@ -42,14 +42,16 @@ function c101105035.effcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -42,14 +42,16 @@ function c101105035.effcon(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase() local ph=Duel.GetCurrentPhase()
return ph==PHASE_MAIN1 or ph==PHASE_MAIN2 return ph==PHASE_MAIN1 or ph==PHASE_MAIN2
end end
function c101105035.rmfilter(c,e,tp) function c101105035.rmfilter(c,e,tp,check)
return c:IsType(TYPE_FUSION+TYPE_SYNCHRO+TYPE_XYZ+TYPE_LINK) and (c:IsAbleToRemove() or c:IsCanBeSpecialSummoned(e,0,tp,false,false)) return c:IsType(TYPE_FUSION+TYPE_SYNCHRO+TYPE_XYZ+TYPE_LINK)
and (c:IsAbleToRemove() or check and c:IsCanBeSpecialSummoned(e,0,tp,false,false))
end end
function c101105035.efftg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c101105035.efftg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(1-tp) and chkc:IsLocation(LOCATION_GRAVE) and c101105035.rmfilter(chkc,e,tp) end local check=Duel.GetLocationCount(tp,LOCATION_MZONE)>0
if chk==0 then return Duel.IsExistingTarget(c101105035.rmfilter,tp,0,LOCATION_GRAVE,1,nil,e,tp) end if chkc then return chkc:IsControler(1-tp) and chkc:IsLocation(LOCATION_GRAVE) and c101105035.rmfilter(chkc,e,tp,check) end
if chk==0 then return Duel.IsExistingTarget(c101105035.rmfilter,tp,0,LOCATION_GRAVE,1,nil,e,tp,check) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local g=Duel.SelectTarget(tp,c101105035.rmfilter,tp,0,LOCATION_GRAVE,1,1,nil,e,tp) local g=Duel.SelectTarget(tp,c101105035.rmfilter,tp,0,LOCATION_GRAVE,1,1,nil,e,tp,check)
end end
function c101105035.effop(e,tp,eg,ep,ev,re,r,rp) function c101105035.effop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
function c101105036.initial_effect(c) function c101105036.initial_effect(c)
--fusion material --fusion material
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddFusionProcFun2(c,aux.FilterBoolFunction(Card.IsFusionSetCard,0x266),c101105036.ffilter,true) aux.AddFusionProcFun2(c,aux.FilterBoolFunction(Card.IsFusionSetCard,0x165),c101105036.ffilter,true)
--fusion success --fusion success
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(101105036,0)) e1:SetDescription(aux.Stringid(101105036,0))
...@@ -47,7 +47,7 @@ function c101105036.thfilter(c) ...@@ -47,7 +47,7 @@ function c101105036.thfilter(c)
end end
function c101105036.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function c101105036.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c101105036.thfilter,tp,LOCATION_GRAVE,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c101105036.thfilter,tp,LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,0,0) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE)
end end
function c101105036.thop(e,tp,eg,ep,ev,re,r,rp) function c101105036.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
...@@ -56,13 +56,13 @@ function c101105036.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -56,13 +56,13 @@ function c101105036.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(g,nil,REASON_EFFECT) Duel.SendtoHand(g,nil,REASON_EFFECT)
end end
end end
function c101105036.gfilter(c,att)
return c:IsAttribute(att) and (c:IsType(TYPE_NORMAL) or c:IsSetCard(0x165))
end
function c101105036.filter(c,tp) function c101105036.filter(c,tp)
return c:IsPosition(POS_FACEUP_ATTACK) and c:IsCanChangePosition() return c:IsPosition(POS_FACEUP_ATTACK) and c:IsCanChangePosition()
and Duel.IsExistingMatchingCard(c101105036.gfilter,tp,LOCATION_GRAVE,0,1,nil,c:GetAttribute()) and Duel.IsExistingMatchingCard(c101105036.gfilter,tp,LOCATION_GRAVE,0,1,nil,c:GetAttribute())
end end
function c101105036.gfilter(c,att)
return c:IsAttribute(att) and (c:IsType(TYPE_NORMAL) or c:IsSetCard(0x266))
end
function c101105036.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c101105036.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(1-tp) and chkc:IsLocation(LOCATION_MZONE) and c101105036.filter(chkc,tp) end if chkc then return chkc:IsControler(1-tp) and chkc:IsLocation(LOCATION_MZONE) and c101105036.filter(chkc,tp) end
if chk==0 then return Duel.IsExistingTarget(c101105036.filter,tp,0,LOCATION_MZONE,1,nil,tp) end if chk==0 then return Duel.IsExistingTarget(c101105036.filter,tp,0,LOCATION_MZONE,1,nil,tp) end
......
...@@ -58,7 +58,7 @@ function c101105037.initial_effect(c) ...@@ -58,7 +58,7 @@ function c101105037.initial_effect(c)
e0:SetLabelObject(e5) e0:SetLabelObject(e5)
end end
function c101105037.mtfilter(c) function c101105037.mtfilter(c)
return c:IsFusionSetCard(0x266) and c:IsFusionType(TYPE_EFFECT) return c:IsFusionSetCard(0x165) and c:IsFusionType(TYPE_EFFECT)
end end
function c101105037.mtfilter2(c) function c101105037.mtfilter2(c)
return c:IsFusionType(TYPE_NORMAL) and not c:IsType(TYPE_TOKEN) return c:IsFusionType(TYPE_NORMAL) and not c:IsType(TYPE_TOKEN)
...@@ -83,8 +83,21 @@ function c101105037.limop(e,tp,eg,ep,ev,re,r,rp) ...@@ -83,8 +83,21 @@ function c101105037.limop(e,tp,eg,ep,ev,re,r,rp)
Duel.SetChainLimitTillChainEnd(c101105037.chlimit) Duel.SetChainLimitTillChainEnd(c101105037.chlimit)
elseif Duel.GetCurrentChain()==1 then elseif Duel.GetCurrentChain()==1 then
e:GetHandler():RegisterFlagEffect(101105037,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1) e:GetHandler():RegisterFlagEffect(101105037,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_CHAINING)
e1:SetOperation(c101105037.resetop)
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EVENT_BREAK_EFFECT)
e2:SetReset(RESET_CHAIN)
Duel.RegisterEffect(e2,tp)
end end
end end
function c101105037.resetop(e,tp,eg,ep,ev,re,r,rp)
e:GetHandler():ResetFlagEffect(47679935)
e:Reset()
end
function c101105037.limop2(e,tp,eg,ep,ev,re,r,rp) function c101105037.limop2(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():GetFlagEffect(101105037)~=0 then if e:GetHandler():GetFlagEffect(101105037)~=0 then
Duel.SetChainLimitTillChainEnd(c101105037.chlimit) Duel.SetChainLimitTillChainEnd(c101105037.chlimit)
...@@ -95,7 +108,7 @@ function c101105037.chlimit(e,ep,tp) ...@@ -95,7 +108,7 @@ function c101105037.chlimit(e,ep,tp)
return tp==ep return tp==ep
end end
function c101105037.ckfilter(c,tp) function c101105037.ckfilter(c,tp)
return (c:IsType(TYPE_NORMAL) or c:IsSetCard(0x266) and c:IsType(TYPE_MONSTER)) return (c:IsType(TYPE_NORMAL) or c:IsSetCard(0x165) and c:IsType(TYPE_MONSTER))
and Duel.IsExistingMatchingCard(c101105037.desfilter,tp,0,LOCATION_MZONE,1,nil,c:GetAttribute()) and Duel.IsExistingMatchingCard(c101105037.desfilter,tp,0,LOCATION_MZONE,1,nil,c:GetAttribute())
end end
function c101105037.desfilter(c,at) function c101105037.desfilter(c,at)
......
...@@ -34,6 +34,7 @@ function c101105042.initial_effect(c) ...@@ -34,6 +34,7 @@ function c101105042.initial_effect(c)
e3:SetCategory(CATEGORY_DRAW) e3:SetCategory(CATEGORY_DRAW)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_ATTACK_ANNOUNCE) e3:SetCode(EVENT_ATTACK_ANNOUNCE)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetRange(LOCATION_SZONE) e3:SetRange(LOCATION_SZONE)
e3:SetCountLimit(1,101105242) e3:SetCountLimit(1,101105242)
e3:SetCondition(c101105042.drcon) e3:SetCondition(c101105042.drcon)
...@@ -78,9 +79,7 @@ function c101105042.eqop(e,tp,eg,ep,ev,re,r,rp) ...@@ -78,9 +79,7 @@ function c101105042.eqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end if not c:IsRelateToEffect(e) then return end
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or tc:IsFacedown() or not tc:IsRelateToEffect(e) then if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or tc:IsFacedown() or not tc:IsRelateToEffect(e) then return end
return
end
if not c:CheckUniqueOnField(tp,LOCATION_SZONE) or c:IsForbidden() then return end if not c:CheckUniqueOnField(tp,LOCATION_SZONE) or c:IsForbidden() then return end
if not Duel.Equip(tp,c,tc) then return end if not Duel.Equip(tp,c,tc) then return end
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
...@@ -59,7 +59,7 @@ function c101105043.effop(e,tp,eg,ep,ev,re,r,rp) ...@@ -59,7 +59,7 @@ function c101105043.effop(e,tp,eg,ep,ev,re,r,rp)
end end
function c101105043.descon(e,tp,eg,ep,ev,re,r,rp) function c101105043.descon(e,tp,eg,ep,ev,re,r,rp)
local rc=eg:GetFirst() local rc=eg:GetFirst()
return ep~=tp and rc:IsControler(tp) and rc:IsSetCard(0x267) and rc:IsSummonLocation(LOCATION_EXTRA) return ep~=tp and rc:IsControler(tp) and rc:IsSetCard(0x166) and rc:IsSummonLocation(LOCATION_EXTRA)
end end
function c101105043.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c101105043.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(1-tp) and chkc:IsOnField() end if chkc then return chkc:IsControler(1-tp) and chkc:IsOnField() end
......
...@@ -45,7 +45,8 @@ function c101105044.atktg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -45,7 +45,8 @@ function c101105044.atktg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local g=Duel.SelectTarget(tp,Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil,tp) local g=Duel.SelectTarget(tp,Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil,tp)
e:SetLabelObject(g:GetFirst()) e:SetLabelObject(g:GetFirst())
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
Duel.SelectTarget(tp,c101105044.atkfilter,tp,LOCATION_GRAVE,0,1,1,nil) local g2=Duel.SelectTarget(tp,c101105044.atkfilter,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,g2,1,0,0)
end end
function c101105044.atkop(e,tp,eg,ep,ev,re,r,rp) function c101105044.atkop(e,tp,eg,ep,ev,re,r,rp)
local tc=e:GetLabelObject() local tc=e:GetLabelObject()
......
...@@ -72,7 +72,7 @@ function c101105045.desop(e,tp,eg,ep,ev,re,r,rp) ...@@ -72,7 +72,7 @@ function c101105045.desop(e,tp,eg,ep,ev,re,r,rp)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK) e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(atk*300) e1:SetValue(atk*300)
e1:SetReset(RESET_PHASE+PHASE_END,2) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,2)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
end end
end end
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
function c101105046.initial_effect(c) function c101105046.initial_effect(c)
--xyz summon --xyz summon
aux.AddXyzProcedure(c,nil,6,2) aux.AddXyzProcedure(c,nil,6,2)
c:EnableReviveLimit()
--indestructable --indestructable
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
......
...@@ -68,14 +68,14 @@ function c101105047.sumfilter(c) ...@@ -68,14 +68,14 @@ function c101105047.sumfilter(c)
return c:IsRace(RACE_REPTILE) and c:IsSummonable(true,nil) return c:IsRace(RACE_REPTILE) and c:IsSummonable(true,nil)
end end
function c101105047.sumtg(e,tp,eg,ep,ev,re,r,rp,chk) function c101105047.sumtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c101105047.sumfilter,tp,LOCATION_HAND,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(c101105047.sumfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_SUMMON,nil,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SUMMON,nil,1,0,0)
end end
function c101105047.sumop(e,tp,eg,ep,ev,re,r,rp) function c101105047.sumop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SUMMON)
local g=Duel.SelectMatchingCard(tp,c101105047.sumfilter,tp,LOCATION_HAND,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c101105047.sumfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,nil)
local tc=g:GetFirst() local tc=g:GetFirst()
if tc and tc:IsRace(RACE_REPTILE) and tc:IsSummonable(true,nil) then if tc then
Duel.Summon(tp,tc,true,nil) Duel.Summon(tp,tc,true,nil)
end end
end end
......
...@@ -23,7 +23,7 @@ function c101105054.initial_effect(c) ...@@ -23,7 +23,7 @@ function c101105054.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c101105054.selfilter(c,e,tp,check) function c101105054.selfilter(c,e,tp,check)
return c:IsSetCard(0x269) and c:IsType(TYPE_MONSTER) return c:IsSetCard(0x164) and c:IsType(TYPE_MONSTER)
and (c:IsAbleToHand() or check and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE)) and (c:IsAbleToHand() or check and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE))
end end
function c101105054.target(e,tp,eg,ep,ev,re,r,rp,chk) function c101105054.target(e,tp,eg,ep,ev,re,r,rp,chk)
......
...@@ -36,7 +36,8 @@ function c101105055.spfilter(c,e,tp) ...@@ -36,7 +36,8 @@ function c101105055.spfilter(c,e,tp)
return (c:IsFaceup() or c:IsLocation(LOCATION_HAND+LOCATION_GRAVE)) and c:IsCode(68468459) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return (c:IsFaceup() or c:IsLocation(LOCATION_HAND+LOCATION_GRAVE)) and c:IsCode(68468459) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c101105055.target(e,tp,eg,ep,ev,re,r,rp,chk) function c101105055.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(c101105055.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_REMOVED,0,1,nil,e,tp) end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c101105055.spfilter,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_REMOVED,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_REMOVED) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE+LOCATION_REMOVED)
end end
function c101105055.activate(e,tp,eg,ep,ev,re,r,rp) function c101105055.activate(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -21,14 +21,14 @@ function c101105056.ffilter1(c,e) ...@@ -21,14 +21,14 @@ function c101105056.ffilter1(c,e)
return not c:IsImmuneToEffect(e) return not c:IsImmuneToEffect(e)
end end
function c101105056.ffilter2(c,e,tp,m,f,chkf) function c101105056.ffilter2(c,e,tp,m,f,chkf)
return c:IsType(TYPE_FUSION) and c:IsSetCard(0x266) and (not f or f(c)) return c:IsType(TYPE_FUSION) and c:IsSetCard(0x165) and (not f or f(c))
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf) and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
end end
function c101105056.fexfilter(c) function c101105056.fexfilter(c)
return c:IsType(TYPE_NORMAL) and c:IsCanBeFusionMaterial() and c:IsAbleToGrave() return c:IsType(TYPE_NORMAL) and c:IsCanBeFusionMaterial() and c:IsAbleToGrave()
end end
function c101105056.rfilter(c,e,tp) function c101105056.rfilter(c,e,tp)
return c:IsSetCard(0x266) return c:IsSetCard(0x165)
end end
function c101105056.rexfilter(c) function c101105056.rexfilter(c)
return c:IsType(TYPE_NORMAL) and c:IsLevelAbove(1) and c:IsAbleToGrave() return c:IsType(TYPE_NORMAL) and c:IsLevelAbove(1) and c:IsAbleToGrave()
......
...@@ -21,8 +21,8 @@ function c101105057.initial_effect(c) ...@@ -21,8 +21,8 @@ function c101105057.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--to hand --to hand
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(101105057,0)) e3:SetDescription(aux.Stringid(101105057,1))
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_TODECK)
e3:SetType(EFFECT_TYPE_IGNITION) e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_FZONE) e3:SetRange(LOCATION_FZONE)
e3:SetCountLimit(1,101105057+100) e3:SetCountLimit(1,101105057+100)
...@@ -31,7 +31,7 @@ function c101105057.initial_effect(c) ...@@ -31,7 +31,7 @@ function c101105057.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c101105057.filter(c) function c101105057.filter(c)
return c:IsSetCard(0x266) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand() return c:IsSetCard(0x165) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
end end
function c101105057.activate(e,tp,eg,ep,ev,re,r,rp) function c101105057.activate(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end if not e:GetHandler():IsRelateToEffect(e) then return end
......
...@@ -37,18 +37,18 @@ function c101105058.initial_effect(c) ...@@ -37,18 +37,18 @@ function c101105058.initial_effect(c)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function c101105058.cfilter(c,tp) function c101105058.cfilter(c,tp)
return c:IsFaceup() and c:IsSetCard(0x267) and c:IsSummonPlayer(tp) return c:IsFaceup() and c:IsSetCard(0x166) and c:IsSummonPlayer(tp)
end end
function c101105058.dtcon(e,tp,eg,ep,ev,re,r,rp) function c101105058.dtcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c101105058.cfilter,1,nil,tp) return eg:IsExists(c101105058.cfilter,1,nil,tp)
end end
function c101105058.dttg(e,tp,eg,ep,ev,re,r,rp,chk) function c101105058.dttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>1 if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>1
and Duel.IsExistingMatchingCard(Card.IsSetCard,tp,LOCATION_DECK,0,1,nil,0x267) end and Duel.IsExistingMatchingCard(Card.IsSetCard,tp,LOCATION_DECK,0,1,nil,0x166) end
end end
function c101105058.dtop(e,tp,eg,ep,ev,re,r,rp) function c101105058.dtop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(101105058,1)) Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(101105058,1))
local g=Duel.SelectMatchingCard(tp,Card.IsSetCard,tp,LOCATION_DECK,0,1,1,nil,0x267) local g=Duel.SelectMatchingCard(tp,Card.IsSetCard,tp,LOCATION_DECK,0,1,1,nil,0x166)
local tc=g:GetFirst() local tc=g:GetFirst()
if tc then if tc then
Duel.ShuffleDeck(tp) Duel.ShuffleDeck(tp)
...@@ -57,7 +57,7 @@ function c101105058.dtop(e,tp,eg,ep,ev,re,r,rp) ...@@ -57,7 +57,7 @@ function c101105058.dtop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c101105058.cfilter2(c,tp) function c101105058.cfilter2(c,tp)
return c:IsSummonLocation(LOCATION_EXTRA) and c:IsPreviousSetCard(0x267) and c:GetReasonPlayer()==1-tp return c:IsSummonLocation(LOCATION_EXTRA) and c:IsPreviousSetCard(0x166) and c:GetReasonPlayer()==1-tp
and c:IsPreviousControler(tp) and c:IsPreviousLocation(LOCATION_MZONE) and c:IsPreviousPosition(POS_FACEUP) and c:IsPreviousControler(tp) and c:IsPreviousLocation(LOCATION_MZONE) and c:IsPreviousPosition(POS_FACEUP)
end end
function c101105058.spcon(e,tp,eg,ep,ev,re,r,rp) function c101105058.spcon(e,tp,eg,ep,ev,re,r,rp)
...@@ -66,7 +66,7 @@ end ...@@ -66,7 +66,7 @@ end
function c101105058.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c101105058.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
local tg=eg:Filter(c101105058.cfilter2,nil,tp) local tg=eg:Filter(c101105058.cfilter2,nil,tp)
local def=tg:GetSum(Card.GetPreviousDefenseOnField) local def=tg:GetSum(Card.GetBaseDefense)
e:SetLabel(def) e:SetLabel(def)
end end
function c101105058.spfilter(c,e,tp) function c101105058.spfilter(c,e,tp)
...@@ -74,7 +74,7 @@ function c101105058.spfilter(c,e,tp) ...@@ -74,7 +74,7 @@ function c101105058.spfilter(c,e,tp)
and Duel.IsExistingMatchingCard(c101105058.xyzfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp,c) and Duel.IsExistingMatchingCard(c101105058.xyzfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp,c)
end end
function c101105058.xyzfilter(c,e,tp,mc) function c101105058.xyzfilter(c,e,tp,mc)
return c:IsSetCard(0x267) and mc:IsCanBeXyzMaterial(c) and c:IsType(TYPE_XYZ) return c:IsSetCard(0x166) and mc:IsCanBeXyzMaterial(c) and c:IsType(TYPE_XYZ)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_XYZ,tp,false,false) and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_XYZ,tp,false,false)
and Duel.GetLocationCountFromEx(tp,tp,mc,c)>0 and Duel.GetLocationCountFromEx(tp,tp,mc,c)>0
end end
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
-- --
--Script by XyleN5967 --Script by XyleN5967
function c101105060.initial_effect(c) function c101105060.initial_effect(c)
c:EnableCounterPermit(0x161,LOCATION_FZONE) c:EnableCounterPermit(0x5d,LOCATION_FZONE)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
...@@ -11,7 +11,7 @@ function c101105060.initial_effect(c) ...@@ -11,7 +11,7 @@ function c101105060.initial_effect(c)
--to hand --to hand
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(101105060,0)) e2:SetDescription(aux.Stringid(101105060,0))
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_REMOVE)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_FZONE) e2:SetRange(LOCATION_FZONE)
e2:SetCountLimit(1,101105060) e2:SetCountLimit(1,101105060)
...@@ -22,7 +22,6 @@ function c101105060.initial_effect(c) ...@@ -22,7 +22,6 @@ function c101105060.initial_effect(c)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e3:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e3:SetCode(EVENT_SPSUMMON_SUCCESS) e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetRange(LOCATION_FZONE) e3:SetRange(LOCATION_FZONE)
e3:SetCondition(c101105060.countercon) e3:SetCondition(c101105060.countercon)
e3:SetOperation(c101105060.counterop) e3:SetOperation(c101105060.counterop)
...@@ -79,11 +78,11 @@ function c101105060.countercon(e,tp,eg,ep,ev,re,r,rp) ...@@ -79,11 +78,11 @@ function c101105060.countercon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c101105060.cfilter,1,nil) return eg:IsExists(c101105060.cfilter,1,nil)
end end
function c101105060.counterop(e,tp,eg,ep,ev,re,r,rp) function c101105060.counterop(e,tp,eg,ep,ev,re,r,rp)
e:GetHandler():AddCounter(0x161,1) e:GetHandler():AddCounter(0x5d,1)
end end
function c101105060.actlimitcon(e,tp,eg,ep,ev,re,r,rp) function c101105060.actlimitcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetCounter(0x161)>=10 return e:GetHandler():GetCounter(0x5d)>=10
end end
function c101105060.actlimittg(e,c) function c101105060.actlimittg(e,c)
return c:GetAttack()~=c:GetDefense() return not c:IsDefense(c:GetAttack())
end end
...@@ -10,7 +10,7 @@ function c101105063.initial_effect(c) ...@@ -10,7 +10,7 @@ function c101105063.initial_effect(c)
--search --search
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(101105063,0)) e2:SetDescription(aux.Stringid(101105063,0))
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_DELAY) e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_MOVE) e2:SetCode(EVENT_MOVE)
......
...@@ -96,7 +96,6 @@ function c101105071.atkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -96,7 +96,6 @@ function c101105071.atkop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK) e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END) e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
e1:SetValue(-1000) e1:SetValue(-1000)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
......
...@@ -14,7 +14,7 @@ function c101105072.initial_effect(c) ...@@ -14,7 +14,7 @@ function c101105072.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c101105072.thfilter(c) function c101105072.thfilter(c)
return (c:IsType(TYPE_NORMAL) or c:IsSetCard(0x266) and c:IsType(TYPE_MONSTER)) and c:IsAbleToHand() return (c:IsType(TYPE_NORMAL) or c:IsSetCard(0x165) and c:IsType(TYPE_MONSTER)) and c:IsAbleToHand()
end end
function c101105072.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c101105072.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_GRAVE) and c101105072.thfilter(chkc) end if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_GRAVE) and c101105072.thfilter(chkc) end
...@@ -27,11 +27,11 @@ function c101105072.ffilter1(c,e) ...@@ -27,11 +27,11 @@ function c101105072.ffilter1(c,e)
return not c:IsImmuneToEffect(e) return not c:IsImmuneToEffect(e)
end end
function c101105072.ffilter2(c,e,tp,m,f,chkf) function c101105072.ffilter2(c,e,tp,m,f,chkf)
return c:IsType(TYPE_FUSION) and c:IsSetCard(0x266) and (not f or f(c)) return c:IsType(TYPE_FUSION) and c:IsSetCard(0x165) and (not f or f(c))
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false,POS_FACEUP_DEFENSE) and c:CheckFusionMaterial(m,nil,chkf) and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false,POS_FACEUP_DEFENSE) and c:CheckFusionMaterial(m,nil,chkf)
end end
function c101105072.rfilter(c,e,tp) function c101105072.rfilter(c,e,tp)
return c:IsSetCard(0x266) and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true,POS_FACEUP_DEFENSE) return c:IsSetCard(0x165) and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_RITUAL,tp,false,true,POS_FACEUP_DEFENSE)
end end
function c101105072.activate(e,tp,eg,ep,ev,re,r,rp) function c101105072.activate(e,tp,eg,ep,ev,re,r,rp)
local th=Duel.GetFirstTarget() local th=Duel.GetFirstTarget()
......
...@@ -15,7 +15,7 @@ function c101105073.initial_effect(c) ...@@ -15,7 +15,7 @@ function c101105073.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c101105073.cfilter(c) function c101105073.cfilter(c)
return c:IsFaceup() and c:IsSetCard(0x266) and (c:IsType(TYPE_RITUAL) or c:IsSummonLocation(LOCATION_EXTRA)) return c:IsFaceup() and c:IsSetCard(0x165) and (c:IsType(TYPE_RITUAL) or c:IsSummonLocation(LOCATION_EXTRA))
end end
function c101105073.condition(e,tp,eg,ep,ev,re,r,rp) function c101105073.condition(e,tp,eg,ep,ev,re,r,rp)
if not Duel.IsExistingMatchingCard(c101105073.cfilter,tp,LOCATION_MZONE,0,1,nil) then return false end if not Duel.IsExistingMatchingCard(c101105073.cfilter,tp,LOCATION_MZONE,0,1,nil) then return false end
...@@ -33,7 +33,7 @@ function c101105073.attfilter(c) ...@@ -33,7 +33,7 @@ function c101105073.attfilter(c)
end end
function c101105073.activate(e,tp,eg,ep,ev,re,r,rp) function c101105073.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if Duel.NegateActivation(ev)~=0 and re:GetHandler():IsRelateToEffect(re) and Duel.Destroy(eg,REASON_EFFECT) if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) and Duel.Destroy(eg,REASON_EFFECT)~=0
and Duel.SelectYesNo(tp,aux.Stringid(101105073,0)) then and Duel.SelectYesNo(tp,aux.Stringid(101105073,0)) then
Duel.BreakEffect() Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATTRIBUTE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATTRIBUTE)
......
...@@ -42,7 +42,7 @@ function c101105074.cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -42,7 +42,7 @@ function c101105074.cost(e,tp,eg,ep,ev,re,r,rp,chk)
end end
end end
function c101105074.thfilter(c) function c101105074.thfilter(c)
return c:IsType(TYPE_MONSTER) and c:IsSetCard(0x267) and c:IsAbleToHand() return c:IsType(TYPE_MONSTER) and c:IsSetCard(0x166) and c:IsAbleToHand()
end end
function c101105074.target(e,tp,eg,ep,ev,re,r,rp,chk) function c101105074.target(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(c101105074.thfilter,tp,LOCATION_DECK,0,nil) local g=Duel.GetMatchingGroup(c101105074.thfilter,tp,LOCATION_DECK,0,nil)
...@@ -64,7 +64,7 @@ function c101105074.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -64,7 +64,7 @@ function c101105074.activate(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c101105074.tdfilter(c) function c101105074.tdfilter(c)
return c:IsType(TYPE_MONSTER) and c:IsSetCard(0x267) and c:IsAbleToDeck() return c:IsType(TYPE_MONSTER) and c:IsSetCard(0x166) and c:IsAbleToDeck()
end end
function c101105074.tdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c101105074.tdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c101105074.tdfilter(chkc) end if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c101105074.tdfilter(chkc) end
......
...@@ -30,7 +30,7 @@ function c101105077.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -30,7 +30,7 @@ function c101105077.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return g:CheckSubGroup(c101105077.fselect,2,2) end if chk==0 then return g:CheckSubGroup(c101105077.fselect,2,2) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end end
function c101105077.activate(e,tp,eg,ep,ev,re,r,rp,chk) function c101105077.activate(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c101105077.thfilter,tp,LOCATION_DECK,0,nil) local g=Duel.GetMatchingGroup(c101105077.thfilter,tp,LOCATION_DECK,0,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=g:SelectSubGroup(tp,c101105077.fselect,false,2,2) local sg=g:SelectSubGroup(tp,c101105077.fselect,false,2,2)
......
...@@ -14,9 +14,10 @@ function c101105078.initial_effect(c) ...@@ -14,9 +14,10 @@ function c101105078.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(101105078,0)) e1:SetDescription(aux.Stringid(101105078,0))
e1:SetCategory(CATEGORY_TOHAND) e1:SetCategory(CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_BATTLE_START) e1:SetCode(EVENT_BATTLE_START)
e1:SetRange(LOCATION_SZONE) e1:SetRange(LOCATION_SZONE)
e1:SetCountLimit(1)
e1:SetCondition(c101105078.thcon) e1:SetCondition(c101105078.thcon)
e1:SetTarget(c101105078.thtg) e1:SetTarget(c101105078.thtg)
e1:SetOperation(c101105078.thop) e1:SetOperation(c101105078.thop)
......
...@@ -43,7 +43,8 @@ function c101105201.spfilter(c,e,tp) ...@@ -43,7 +43,8 @@ function c101105201.spfilter(c,e,tp)
end end
function c101105201.spop(e,tp,eg,ep,ev,re,r,rp) function c101105201.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c101105201.cfilter,tp,LOCATION_MZONE,0,1,nil) and Duel.IsExistingMatchingCard(c101105201.cfilter,tp,LOCATION_MZONE,0,1,nil)
and Duel.IsExistingMatchingCard(c101105201.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp) and Duel.IsExistingMatchingCard(c101105201.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp)
and Duel.SelectYesNo(tp,aux.Stringid(101105201,1)) then and Duel.SelectYesNo(tp,aux.Stringid(101105201,1)) then
......
...@@ -29,28 +29,21 @@ function c101105208.condition(e,tp,eg,ep,ev,re,r,rp) ...@@ -29,28 +29,21 @@ function c101105208.condition(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c101105208.cfilter,1,nil,tp,rp) return eg:IsExists(c101105208.cfilter,1,nil,tp,rp)
end end
function c101105208.spfilter(c,e,tp) function c101105208.spfilter(c,e,tp)
if not c:IsCanBeSpecialSummoned(e,0,tp,false,false) then return false end return (c:IsLocation(LOCATION_GRAVE) or (c:IsFaceup() and c:IsLocation(LOCATION_REMOVED))) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
if c:IsFaceup() and c:IsLocation(LOCATION_EXTRA) then
return Duel.GetLocationCountFromEx(tp,tp,nil,c)>0
end
if c:IsLocation(LOCATION_GRAVE) or c:IsFaceup() and c:IsLocation(LOCATION_REMOVED) then
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
end
return false
end end
function c101105208.rfilter(c) function c101105208.rfilter(c)
return c:IsType(TYPE_MONSTER) and c:IsAbleToRemove() return c:IsType(TYPE_MONSTER) and c:IsAbleToRemove()
end end
function c101105208.target(e,tp,eg,ep,ev,re,r,rp,chk) function c101105208.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then if chk==0 then
local b1=eg:Filter(c101105208.cfilter,nil,tp,rp):IsExists(c101105208.spfilter,1,nil,e,tp) and Duel.GetFlagEffect(tp,101105208)==0 local b1=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and eg:Filter(c101105208.cfilter,nil,tp,rp):IsExists(c101105208.spfilter,1,nil,e,tp) and Duel.GetFlagEffect(tp,101105208)==0
local b2=Duel.IsExistingMatchingCard(c101105208.rfilter,tp,0,LOCATION_MZONE+LOCATION_GRAVE,1,nil) and Duel.GetFlagEffect(tp,101105208+100)==0 local b2=Duel.IsExistingMatchingCard(c101105208.rfilter,tp,0,LOCATION_MZONE+LOCATION_GRAVE,1,nil) and Duel.GetFlagEffect(tp,101105208+100)==0
local b3=Duel.GetFlagEffect(tp,101105208+200)==0 local b3=Duel.GetFlagEffect(tp,101105208+200)==0
return b1 or b2 or b3 return b1 or b2 or b3
end end
end end
function c101105208.activate(e,tp,eg,ep,ev,re,r,rp) function c101105208.activate(e,tp,eg,ep,ev,re,r,rp)
local b1=eg:Filter(c101105208.cfilter,nil,tp,rp):IsExists(c101105208.spfilter,1,nil,e,tp) and Duel.GetFlagEffect(tp,101105208)==0 local b1=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and eg:Filter(c101105208.cfilter,nil,tp,rp):IsExists(c101105208.spfilter,1,nil,e,tp) and Duel.GetFlagEffect(tp,101105208)==0
local b2=Duel.IsExistingMatchingCard(aux.NecroValleyFilter(c101105208.rfilter),tp,0,LOCATION_MZONE+LOCATION_GRAVE,1,nil) and Duel.GetFlagEffect(tp,101105208+100)==0 local b2=Duel.IsExistingMatchingCard(aux.NecroValleyFilter(c101105208.rfilter),tp,0,LOCATION_MZONE+LOCATION_GRAVE,1,nil) and Duel.GetFlagEffect(tp,101105208+100)==0
local b3=Duel.GetFlagEffect(tp,101105208+200)==0 local b3=Duel.GetFlagEffect(tp,101105208+200)==0
local off=1 local off=1
......
--宇宙砦ゴルガー --宇宙砦ゴルガー
function c68319538.initial_effect(c) function c68319538.initial_effect(c)
aux.AddMaterialCodeList(c,652362)
--synchro summon --synchro summon
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsCode,652362),aux.NonTuner(Card.IsSetCard,0xc),1) aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsCode,652362),aux.NonTuner(Card.IsSetCard,0xc),1)
c:EnableReviveLimit() c:EnableReviveLimit()
...@@ -27,6 +28,22 @@ function c68319538.initial_effect(c) ...@@ -27,6 +28,22 @@ function c68319538.initial_effect(c)
e2:SetOperation(c68319538.desop) e2:SetOperation(c68319538.desop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
if Auxiliary.AddMaterialCodeList==nil then
function Auxiliary.AddMaterialCodeList(c,...)
if c:IsStatus(STATUS_COPYING_EFFECT) then return end
local mat={}
for _,code in ipairs{...} do
mat[code]=true
end
if c.material==nil then
local mt=getmetatable(c)
mt.material=mat
end
for index,_ in pairs(mat) do
Auxiliary.AddCodeList(c,index)
end
end
end
c68319538.counter_add_list={0x100e} c68319538.counter_add_list={0x100e}
function c68319538.filter(c) function c68319538.filter(c)
return c:IsFaceup() and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsAbleToHand() return c:IsFaceup() and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsAbleToHand()
......
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