diff --git a/rush/c160002029.lua b/rush/c160002029.lua index 84fad2233b..1ca35049b9 100644 --- a/rush/c160002029.lua +++ b/rush/c160002029.lua @@ -16,7 +16,8 @@ function s.initial_effect(c) c:RegisterEffect(e1) end function s.spcond(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) and c:IsSummonPhaseMain() end function s.filter(c,e,tp) return c:IsType(TYPE_NORMAL) and c:IsRace(RACE_DINOSAUR) and c:IsLevelBelow(6) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) diff --git a/rush/c160003020.lua b/rush/c160003020.lua index ac1aeb0f45..fea3e1507f 100644 --- a/rush/c160003020.lua +++ b/rush/c160003020.lua @@ -10,34 +10,23 @@ function s.initial_effect(c) e1:SetType(EFFECT_TYPE_IGNITION) e1:SetRange(LOCATION_MZONE) e1:SetCountLimit(1) - e1:SetCondition(s.drcon) - e1:SetTarget(s.drtg) - e1:SetOperation(s.drop) + e1:SetCondition(s.condition) + e1:SetTarget(s.target) + e1:SetOperation(s.operation) c:RegisterEffect(e1) - aux.GlobalCheck(s,function() - local ge1=Effect.CreateEffect(c) - ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) - ge1:SetCode(EVENT_SPSUMMON_SUCCESS) - ge1:SetLabel(id) - ge1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) - ge1:SetOperation(aux.sumreg) - Duel.RegisterEffect(ge1,0) - end) end - --If this card was summoned from hand or GY this turn and check for 4+ dragons in your GY -function s.drcon(e,tp,eg,ep,ev,re,r,rp) +function s.condition(e,tp,eg,ep,ev,re,r,rp) + local c=e:GetHandler() return Duel.IsExistingMatchingCard(Card.IsRace,tp,LOCATION_GRAVE,0,4,nil,RACE_DRAGON) - and e:GetHandler():GetFlagEffect(id)>0 and e:GetHandler():IsSummonLocation(LOCATION_HAND|LOCATION_GRAVE) + and c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonPhaseMain() and c:IsSummonLocation(LOCATION_HAND|LOCATION_GRAVE) end - --Activation legality -function s.drtg(e,tp,eg,ep,ev,re,r,rp,chk) +function s.target(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 - --Draw 1 card -function s.drop(e,tp,eg,ep,ev,re,r,rp) +function s.operation(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) end diff --git a/rush/c160004031.lua b/rush/c160004031.lua index c8425103e6..5c519a057a 100644 --- a/rush/c160004031.lua +++ b/rush/c160004031.lua @@ -16,7 +16,8 @@ function s.initial_effect(c) c:RegisterEffect(e1) end function s.poscond(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) and c:IsSummonPhaseMain() end function s.filter(c) return c:IsFacedown() and c:IsDefensePos() diff --git a/rush/c160004032.lua b/rush/c160004032.lua index 8685637496..db12733751 100644 --- a/rush/c160004032.lua +++ b/rush/c160004032.lua @@ -13,7 +13,8 @@ function s.initial_effect(c) c:RegisterEffect(e1) end function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) and c:IsSummonPhaseMain() end --Activation legality function s.target(e,tp,eg,ep,ev,re,r,rp,chk) diff --git a/rush/c160007038.lua b/rush/c160007038.lua index 7cff403326..1f290b4455 100644 --- a/rush/c160007038.lua +++ b/rush/c160007038.lua @@ -4,7 +4,7 @@ local s,id=GetID() function s.initial_effect(c) c:EnableReviveLimit() - -- "Masked Fiery Noodle Jonin Kaedama Gockboot" + "Taste Inspector" + --"Masked Fiery Noodle Jonin Kaedama Gockboot" + "Taste Inspector" Fusion.AddProcMix(c,true,true,160003033,CARD_TASTE_INSPECTOR) -- Damage and draw local e1=Effect.CreateEffect(c) @@ -13,12 +13,17 @@ function s.initial_effect(c) e1:SetType(EFFECT_TYPE_IGNITION) e1:SetRange(LOCATION_MZONE) e1:SetCountLimit(1) - e1:SetTarget(s.damtg) - e1:SetOperation(s.damop) + e1:SetCondition(s.condition) + e1:SetTarget(s.target) + e1:SetOperation(s.operation) c:RegisterEffect(e1) end -function s.damtg(e,tp,eg,ep,ev,re,r,rp,chk) - if chk==0 then return e:GetHandler():IsStatus(STATUS_SPSUMMON_TURN) end +function s.condition(e,tp,eg,ep,ev,re,r,rp) + local c=e:GetHandler() + return c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonPhaseMain() +end +function s.target(e,tp,eg,ep,ev,re,r,rp,chk) + if chk==0 then return true end Duel.SetTargetPlayer(1-tp) Duel.SetTargetParam(1000) Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,1000) @@ -27,7 +32,7 @@ end function s.setfilter(c) return c:IsCode(160003046,160007051) and c:IsSSetable() end -function s.damop(e,tp,eg,ep,ev,re,r,rp) +function s.operation(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler() local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM) Duel.Damage(p,d,REASON_EFFECT) diff --git a/rush/c160008042.lua b/rush/c160008042.lua index 488a1c97c1..0afaf35c35 100644 --- a/rush/c160008042.lua +++ b/rush/c160008042.lua @@ -12,11 +12,16 @@ function s.initial_effect(c) e1:SetType(EFFECT_TYPE_IGNITION) e1:SetRange(LOCATION_MZONE) e1:SetCountLimit(1) + e1:SetCondition(s.condition) e1:SetCost(s.cost) e1:SetTarget(s.target) e1:SetOperation(s.operation) c:RegisterEffect(e1) end +function s.condition(e,tp,eg,ep,ev,re,r,rp) + local c=e:GetHandler() + return c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonPhaseMain() +end function s.cfilter(c) return c:IsRace(RACE_BEAST) and c:IsAttribute(ATTRIBUTE_FIRE) and c:IsAbleToDeckOrExtraAsCost() end @@ -24,7 +29,7 @@ function s.cost(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_GRAVE,0,4,nil) end end function s.target(e,tp,eg,ep,ev,re,r,rp,chk) - if chk==0 then return e:GetHandler():IsStatus(STATUS_SPSUMMON_TURN) and Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_GRAVE,0,1,nil) end + if chk==0 then return Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_GRAVE,0,1,nil) end Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE) end function s.operation(e,tp,eg,ep,ev,re,r,rp) diff --git a/rush/c160009041.lua b/rush/c160009041.lua index e67a28b5f3..160c5fbd30 100644 --- a/rush/c160009041.lua +++ b/rush/c160009041.lua @@ -13,21 +13,25 @@ function s.initial_effect(c) e1:SetCategory(CATEGORY_DESTROY+CATEGORY_TOHAND) e1:SetRange(LOCATION_MZONE) e1:SetCountLimit(1) - e1:SetCondition(function(e) return e:GetHandler():IsStatus(STATUS_SPSUMMON_TURN) end) - e1:SetTarget(s.destg) - e1:SetOperation(s.desop) + e1:SetCondition(s.condition) + e1:SetTarget(s.target) + e1:SetOperation(s.operation) c:RegisterEffect(e1) end s.listed_materials={160201007,160009009} s.listed_names={160009060,160009061} -function s.destg(e,tp,eg,ep,ev,re,r,rp,chk) +function s.condition(e,tp,eg,ep,ev,re,r,rp) + local c=e:GetHandler() + return c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonPhaseMain() +end +function s.target(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsExistingMatchingCard(aux.FaceupFilter(Card.IsType,TYPE_NORMAL),tp,0,LOCATION_MZONE,1,nil) end Duel.SetOperationInfo(0,CATEGORY_DESTROY,nil,1,1-tp,LOCATION_MZONE) end function s.thfilter(c) return c:IsCode(160009060,160009061) and c:IsAbleToHand() end -function s.desop(e,tp,eg,ep,ev,re,r,rp) +function s.operation(e,tp,eg,ep,ev,re,r,rp) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) local dg=Duel.SelectMatchingCard(tp,aux.FaceupFilter(Card.IsType,TYPE_NORMAL),tp,0,LOCATION_MZONE,1,1,nil) if #dg<1 then return end diff --git a/rush/c160010031.lua b/rush/c160010031.lua index c86637d8cc..1ef2a99ab6 100644 --- a/rush/c160010031.lua +++ b/rush/c160010031.lua @@ -25,7 +25,7 @@ function s.operation(e,tp,eg,ep,ev,re,r,rp) --Effect if Duel.DiscardDeck(tp,2,REASON_EFFECT)==0 then return end local c=e:GetHandler() - if Duel.IsMainPhase() and c:IsStatus(STATUS_SPSUMMON_TURN+STATUS_SUMMON_TURN) and Duel.IsExistingMatchingCard(aux.NecroValleyFilter(s.spfilter),tp,LOCATION_GRAVE,0,1,nil,e,tp) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.SelectYesNo(tp,aux.Stringid(id,0)) then + if c:IsSummonPhaseMain() and c:IsStatus(STATUS_SPSUMMON_TURN+STATUS_SUMMON_TURN) and Duel.IsExistingMatchingCard(aux.NecroValleyFilter(s.spfilter),tp,LOCATION_GRAVE,0,1,nil,e,tp) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.SelectYesNo(tp,aux.Stringid(id,0)) then Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) local g=Duel.SelectMatchingCard(tp,s.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp) if #g>0 then diff --git a/rush/c160010032.lua b/rush/c160010032.lua index 246d8672d4..6dea2262e9 100644 --- a/rush/c160010032.lua +++ b/rush/c160010032.lua @@ -15,7 +15,8 @@ function s.initial_effect(c) c:RegisterEffect(e1) end function s.condition(e,tp,eg,ep,ev,re,r,rp) - return Duel.IsMainPhase() and e:GetHandler():IsStatus(STATUS_SPSUMMON_TURN+STATUS_SUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SPSUMMON_TURN+STATUS_SUMMON_TURN) end function s.spfilter(c,e,tp) local lv=c:GetLevel() diff --git a/rush/c160010033.lua b/rush/c160010033.lua index 12102beb28..0574512739 100644 --- a/rush/c160010033.lua +++ b/rush/c160010033.lua @@ -18,7 +18,8 @@ function s.initial_effect(c) end s.listed_names={160002039,160004060} function s.poscond(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end function s.poscost(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.CheckLPCost(tp,700) end diff --git a/rush/c160011028.lua b/rush/c160011028.lua index 1b412e1edb..667bcaf85d 100644 --- a/rush/c160011028.lua +++ b/rush/c160011028.lua @@ -16,7 +16,9 @@ function s.initial_effect(c) end s.listed_names={160005065,160004030,160203039} function s.condition(e,tp,eg,ep,ev,re,r,rp) - return Duel.IsExistingMatchingCard(Card.IsFaceup,tp,LOCATION_MZONE,0,3,nil) and e:GetHandler():IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return Duel.IsExistingMatchingCard(Card.IsFaceup,tp,LOCATION_MZONE,0,3,nil) + and c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end function s.setfilter(c) return c:IsCode(160005065) and c:IsSSetable() diff --git a/rush/c160011036.lua b/rush/c160011036.lua index bb8162abf2..e4738326bc 100644 --- a/rush/c160011036.lua +++ b/rush/c160011036.lua @@ -17,7 +17,8 @@ function s.initial_effect(c) c:RegisterEffect(e1) end function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end function s.cost(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToDeckOrExtraAsCost,tp,LOCATION_HAND,0,1,nil) end diff --git a/rush/c160012017.lua b/rush/c160012017.lua index 4d7e7d4c55..8fb66584b4 100644 --- a/rush/c160012017.lua +++ b/rush/c160012017.lua @@ -23,18 +23,15 @@ function s.operation(e,tp,eg,ep,ev,re,r,rp) --Requirement if Duel.DiscardDeck(tp,2,REASON_COST)==2 then --Effect - if c:IsRelateToEffect(e) and c:IsFaceup() then - --Piercing - c:AddPiercing(RESETS_STANDARD_PHASE_END) - local desg=Duel.GetMatchingGroup(s.desfilter,tp,0,LOCATION_MZONE,nil) - if #desg>0 and c:IsStatus(STATUS_SPSUMMON_TURN) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then - Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) - local tg=Duel.SelectMatchingCard(tp,aux.FilterMaximumSideFunctionEx(s.desfilter),tp,0,LOCATION_MZONE,1,1,nil) - if #tg>0 then - tg=tg:AddMaximumCheck() - Duel.HintSelection(tg,true) - Duel.Destroy(tg,REASON_EFFECT) - end + c:AddPiercing(RESETS_STANDARD_PHASE_END) + local desg=Duel.GetMatchingGroup(s.desfilter,tp,0,LOCATION_MZONE,nil) + if #desg>0 and c:IsSummonPhaseMain() and c:IsStatus(STATUS_SPSUMMON_TURN) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then + Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) + local tg=Duel.SelectMatchingCard(tp,aux.FilterMaximumSideFunctionEx(s.desfilter),tp,0,LOCATION_MZONE,1,1,nil) + if #tg>0 then + tg=tg:AddMaximumCheck() + Duel.HintSelection(tg) + Duel.Destroy(tg,REASON_EFFECT) end end end diff --git a/rush/c160012026.lua b/rush/c160012026.lua index 783c66d4a7..de538bd114 100644 --- a/rush/c160012026.lua +++ b/rush/c160012026.lua @@ -10,12 +10,16 @@ function s.initial_effect(c) e1:SetType(EFFECT_TYPE_IGNITION) e1:SetRange(LOCATION_MZONE) e1:SetCountLimit(1) - e1:SetCondition(function(e) return e:GetHandler():IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end) + e1:SetCondition(s.condition) e1:SetTarget(s.target) e1:SetOperation(s.operation) c:RegisterEffect(e1) end s.listed_names={CARD_FUSION} +function s.condition(e,tp,eg,ep,ev,re,r,rp) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) +end function s.setfilter(c) return c:IsCode(CARD_FUSION) and c:IsSSetable() end diff --git a/rush/c160012032.lua b/rush/c160012032.lua index 357b30a2cc..0f8d2fcf86 100644 --- a/rush/c160012032.lua +++ b/rush/c160012032.lua @@ -18,7 +18,8 @@ function s.initial_effect(c) c:RegisterEffect(e1) end function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SPSUMMON_TURN) end function s.target(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsExistingMatchingCard(Card.IsSpellTrap,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end diff --git a/rush/c160013004.lua b/rush/c160013004.lua index 10dd6c537a..a006fe680f 100644 --- a/rush/c160013004.lua +++ b/rush/c160013004.lua @@ -18,7 +18,8 @@ function s.initial_effect(c) end s.listed_names={CARD_BLUETOOTH_B_DRAGON,CARD_REDBOOT_B_DRAGON} function s.damcon(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) and Duel.IsExistingMatchingCard(aux.FaceupFilter(Card.IsCode,CARD_BLUETOOTH_B_DRAGON,CARD_REDBOOT_B_DRAGON),tp,LOCATION_ONFIELD,0,1,nil) end function s.damtg(e,tp,eg,ep,ev,re,r,rp,chk) diff --git a/rush/c160013005.lua b/rush/c160013005.lua index 842aab0f49..f068f61941 100644 --- a/rush/c160013005.lua +++ b/rush/c160013005.lua @@ -9,13 +9,17 @@ function s.initial_effect(c) e1:SetType(EFFECT_TYPE_IGNITION) e1:SetRange(LOCATION_MZONE) e1:SetCountLimit(1) - e1:SetCondition(function(e) return e:GetHandler():IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end) + e1:SetCondition(s.condition) e1:SetCost(s.cost) e1:SetTarget(s.target) e1:SetOperation(s.operation) c:RegisterEffect(e1) end s.listed_names={CARD_BLUETOOTH_B_DRAGON,CARD_REDBOOT_B_DRAGON,160013048,160013049} +function s.condition(e,tp,eg,ep,ev,re,r,rp) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) +end function s.cfilter(c) return c:IsCode(CARD_BLUETOOTH_B_DRAGON,CARD_REDBOOT_B_DRAGON) and not c:IsPublic() end diff --git a/rush/c160013039.lua b/rush/c160013039.lua index 8f2bfd679e..725ccdfbcd 100644 --- a/rush/c160013039.lua +++ b/rush/c160013039.lua @@ -13,23 +13,24 @@ function s.initial_effect(c) e1:SetType(EFFECT_TYPE_IGNITION) e1:SetRange(LOCATION_MZONE) e1:SetCountLimit(1) - e1:SetCondition(s.spcon) - e1:SetTarget(s.sptg) - e1:SetOperation(s.spop) + e1:SetCondition(s.condition) + e1:SetTarget(s.target) + e1:SetOperation(s.operation) c:RegisterEffect(e1) end -function s.spcon(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SPSUMMON_TURN) +function s.condition(e,tp,eg,ep,ev,re,r,rp) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SPSUMMON_TURN) end function s.filter(c,e,tp) return c:IsLevel(8) and c:IsRace(RACE_GALAXY) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end -function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk) +function s.target(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE) end -function s.spop(e,tp,eg,ep,ev,re,r,rp) +function s.operation(e,tp,eg,ep,ev,re,r,rp) --Effect if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_GRAVE,0,1,nil,e,tp) then Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) diff --git a/rush/c160014019.lua b/rush/c160014019.lua index ccf5bf78e6..aaf90d1d14 100644 --- a/rush/c160014019.lua +++ b/rush/c160014019.lua @@ -16,7 +16,8 @@ function s.initial_effect(c) c:RegisterEffect(e1) end function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end function s.target(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>=3 end diff --git a/rush/c160014038.lua b/rush/c160014038.lua index e1ceb2dc7a..19e4e006b0 100644 --- a/rush/c160014038.lua +++ b/rush/c160014038.lua @@ -17,7 +17,8 @@ function s.initial_effect(c) end s.listed_names={160011040} --Galactica Xiphos function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) and Duel.IsExistingMatchingCard(Card.IsRace,tp,LOCATION_GRAVE,0,3,nil,RACE_GALAXY) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) and Duel.IsExistingMatchingCard(Card.IsRace,tp,LOCATION_GRAVE,0,3,nil,RACE_GALAXY) end function s.thfilter(c) return c:IsCode(160011040) and c:IsAbleToHand() diff --git a/rush/c160014040.lua b/rush/c160014040.lua index 664cb1d533..a681b23eb7 100644 --- a/rush/c160014040.lua +++ b/rush/c160014040.lua @@ -16,7 +16,8 @@ function s.initial_effect(c) c:RegisterEffect(e1) end function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end function s.target(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsExistingMatchingCard(Card.IsFacedown,tp,0,LOCATION_ONFIELD,1,nil) end diff --git a/rush/c160014046.lua b/rush/c160014046.lua index 2612e86de0..5ecc46b745 100644 --- a/rush/c160014046.lua +++ b/rush/c160014046.lua @@ -32,7 +32,8 @@ function s.initial_effect(c) end s.material_setcode=SET_GAIA_THE_FIERCE_KNIGHT function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():CanAttack() and e:GetHandler():IsStatus(STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:CanAttack() and c:IsSummonPhaseMain() and c:IsStatus(STATUS_SPSUMMON_TURN) end function s.cfilter(c) return c:IsMonster() and not c:IsRace(RACE_MAGICALKNIGHT) and c:IsAbleToDeckOrExtraAsCost() @@ -61,7 +62,8 @@ function s.operation(e,tp,eg,ep,ev,re,r,rp) end end function s.descon(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SPSUMMON_TURN) end function s.destg(e,tp,eg,ep,ev,re,r,rp,chk) local dg=Duel.GetMatchingGroup(Card.IsSpellTrap,tp,0,LOCATION_ONFIELD,nil) diff --git a/rush/c160015015.lua b/rush/c160015015.lua index 9dbecc6e88..14049b4b70 100644 --- a/rush/c160015015.lua +++ b/rush/c160015015.lua @@ -16,7 +16,8 @@ function s.initial_effect(c) end s.listed_names={160002025} function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SPSUMMON_TURN|STATUS_SUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end function s.cost(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsPlayerCanDiscardDeck(tp,2) end diff --git a/rush/c160017013.lua b/rush/c160017013.lua index a4a136eb91..a36383bb9d 100644 --- a/rush/c160017013.lua +++ b/rush/c160017013.lua @@ -16,7 +16,8 @@ function s.initial_effect(c) end s.listed_names={160017055} function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN|STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end function s.thfilter(c) return ((c:IsRace(RACE_CYBERSE) and c:IsAttribute(ATTRIBUTE_FIRE) and c:IsLevelAbove(7)) or c:IsCode(160017055)) diff --git a/rush/c160017026.lua b/rush/c160017026.lua index 96503ff410..319cfbc099 100644 --- a/rush/c160017026.lua +++ b/rush/c160017026.lua @@ -18,7 +18,8 @@ function s.initial_effect(c) end s.listed_names={160018005,160017021,160017023} function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end function s.cost(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsPlayerCanDiscardDeckAsCost(tp,3) end diff --git a/rush/c160017044.lua b/rush/c160017044.lua index f279dc8f17..a74c42468f 100644 --- a/rush/c160017044.lua +++ b/rush/c160017044.lua @@ -20,7 +20,7 @@ function s.initial_effect(c) end function s.condition(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler() - return c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonType(SUMMON_TYPE_FUSION) + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonType(SUMMON_TYPE_FUSION) end function s.cost(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsExistingMatchingCard(aux.AND(Card.IsMonster,Card.IsAbleToDeckOrExtraAsCost),tp,LOCATION_GRAVE,0,3,nil) end diff --git a/rush/c160018006.lua b/rush/c160018006.lua index 9c502e1137..346e47ec76 100644 --- a/rush/c160018006.lua +++ b/rush/c160018006.lua @@ -16,7 +16,8 @@ function s.initial_effect(c) c:RegisterEffect(e1) end function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN|STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end function s.cost(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsPlayerCanDiscardDeckAsCost(tp,1) end diff --git a/rush/c160018022.lua b/rush/c160018022.lua index 1d06326216..196ddb04bd 100644 --- a/rush/c160018022.lua +++ b/rush/c160018022.lua @@ -16,7 +16,8 @@ function s.initial_effect(c) c:RegisterEffect(e1) end function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN|STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end function s.cost(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToGraveAsCost,tp,LOCATION_HAND|LOCATION_ONFIELD,0,1,e:GetHandler()) end diff --git a/rush/c160018026.lua b/rush/c160018026.lua index b240f1ec78..3a4839b85f 100644 --- a/rush/c160018026.lua +++ b/rush/c160018026.lua @@ -17,7 +17,8 @@ function s.initial_effect(c) end s.listed_names={160010034,160018022} function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN|STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end function s.thfilter(c) return c:IsCode(160010034,160018022) and c:IsAbleToHand() diff --git a/rush/c160018039.lua b/rush/c160018039.lua index 67ed8752cd..f178ff4c8f 100644 --- a/rush/c160018039.lua +++ b/rush/c160018039.lua @@ -26,7 +26,8 @@ function s.contactop(g,tp) Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST+REASON_MATERIAL) end function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SPSUMMON_TURN) end function s.posfilter(c) return c:IsFaceup() and c:IsCanTurnSet() and c:IsCanChangePositionRush() diff --git a/rush/c160018040.lua b/rush/c160018040.lua index 27ce757e85..34982f3eca 100644 --- a/rush/c160018040.lua +++ b/rush/c160018040.lua @@ -19,15 +19,16 @@ function s.initial_effect(c) e1:SetOperation(s.operation) c:RegisterEffect(e1) end -function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SPSUMMON_TURN) -end function s.contactfil(tp) return Duel.GetMatchingGroup(aux.FaceupFilter(Card.IsAbleToDeckOrExtraAsCost),tp,LOCATION_ONFIELD,0,nil) end function s.contactop(g,tp) Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST+REASON_MATERIAL) end +function s.condition(e,tp,eg,ep,ev,re,r,rp) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SPSUMMON_TURN) +end function s.desfilter(c) return c:IsFaceup() and c:IsNotMaximumModeSide() end diff --git a/rush/c160018048.lua b/rush/c160018048.lua index 3c2aa0846c..6525fe9008 100644 --- a/rush/c160018048.lua +++ b/rush/c160018048.lua @@ -27,7 +27,7 @@ function s.contactop(g,tp) end function s.condition(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler() - return c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonType(SUMMON_TYPE_FUSION) + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonType(SUMMON_TYPE_FUSION) end function s.tdfilter(c) return c:IsFaceup() and c:IsAbleToDeck() and not c:IsMaximumModeSide() diff --git a/rush/c160019036.lua b/rush/c160019036.lua index bd43c11147..745da0d5a3 100644 --- a/rush/c160019036.lua +++ b/rush/c160019036.lua @@ -33,7 +33,7 @@ function s.operation(e,tp,eg,ep,ev,re,r,rp) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) local sg=dg:Select(tp,1,1,nil) Duel.HintSelection(sg) - if Duel.Destroy(sg,REASON_EFFECT)>0 and c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonType(SUMMON_TYPE_FUSION) then + if Duel.Destroy(sg,REASON_EFFECT)>0 and c:IsSummonPhaseMain() and c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonType(SUMMON_TYPE_FUSION) then local e1=Effect.CreateEffect(c) e1:SetType(EFFECT_TYPE_SINGLE) e1:SetCode(EFFECT_UPDATE_ATTACK) diff --git a/rush/c160019040.lua b/rush/c160019040.lua index 429a39bacd..e4f4be5c99 100644 --- a/rush/c160019040.lua +++ b/rush/c160019040.lua @@ -20,7 +20,8 @@ function s.initial_effect(c) end s.roll_dice=true function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SPSUMMON_TURN) end function s.target(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return true end diff --git a/rush/c160019041.lua b/rush/c160019041.lua index 5a68d93e07..2f6317499b 100644 --- a/rush/c160019041.lua +++ b/rush/c160019041.lua @@ -27,7 +27,7 @@ function s.contactop(g,tp) end function s.condition(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler() - return c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonType(SUMMON_TYPE_FUSION) + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonType(SUMMON_TYPE_FUSION) end function s.target(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToGrave,tp,LOCATION_MZONE,0,1,nil) end diff --git a/rush/c160019044.lua b/rush/c160019044.lua index a3702dde46..d6f8fa75c2 100644 --- a/rush/c160019044.lua +++ b/rush/c160019044.lua @@ -25,7 +25,8 @@ function s.contactop(g,tp) Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST+REASON_MATERIAL) end function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SPSUMMON_TURN) end function s.target(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsPlayerCanDiscardDeck(tp,3) and Duel.IsPlayerCanDiscardDeck(1-tp,3) end diff --git a/rush/c160020008.lua b/rush/c160020008.lua index c2785df1bf..7ff5060bb9 100644 --- a/rush/c160020008.lua +++ b/rush/c160020008.lua @@ -44,7 +44,7 @@ function s.operation(e,tp,eg,ep,ev,re,r,rp) e1:SetValue(1) c:RegisterEffect(e1) local ct=Duel.GetFieldGroupCountRush(tp,LOCATION_MZONE,0) - if ct>0 and c:IsStatus(STATUS_SUMMON_TURN|STATUS_SPSUMMON_TURN) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then + if ct>0 and c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN|STATUS_SPSUMMON_TURN) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then Duel.BreakEffect() Duel.Damage(1-tp,ct*400,REASON_EFFECT) end diff --git a/rush/c160020026.lua b/rush/c160020026.lua index fa62a08c88..176dafc8fa 100644 --- a/rush/c160020026.lua +++ b/rush/c160020026.lua @@ -16,7 +16,8 @@ function s.initial_effect(c) c:RegisterEffect(e1) end function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN|STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end function s.thfilter(c) return c:IsCode(160020056,160020057) and c:IsAbleToHand() diff --git a/rush/c160020027.lua b/rush/c160020027.lua index 372803557c..c042c20906 100644 --- a/rush/c160020027.lua +++ b/rush/c160020027.lua @@ -17,7 +17,8 @@ function s.initial_effect(c) c:RegisterEffect(e1) end function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN|STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end function s.cost(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToGraveAsCost,tp,LOCATION_HAND,0,1,nil) end diff --git a/rush/c160020032.lua b/rush/c160020032.lua index bdf07feea4..a4fe0ea7e3 100644 --- a/rush/c160020032.lua +++ b/rush/c160020032.lua @@ -21,7 +21,8 @@ function s.otfilter(c) return c:IsAttribute(ATTRIBUTE_LIGHT) end function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN|STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end function s.target(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsExistingMatchingCard(Card.IsCanChangePositionRush,tp,0,LOCATION_MZONE,1,nil) end diff --git a/rush/c160020047.lua b/rush/c160020047.lua index 0871c46b86..af7e4a4b1c 100644 --- a/rush/c160020047.lua +++ b/rush/c160020047.lua @@ -32,7 +32,7 @@ function s.contactop(g,tp) end function s.condition(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler() - return c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonType(SUMMON_TYPE_FUSION) + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonType(SUMMON_TYPE_FUSION) end function s.filter(c) return c:IsSpellTrap() and c:IsAbleToDeck() diff --git a/rush/c160020065.lua b/rush/c160020065.lua index a1d225df00..b07f1a031d 100644 --- a/rush/c160020065.lua +++ b/rush/c160020065.lua @@ -15,7 +15,7 @@ function s.initial_effect(c) e1:SetType(EFFECT_TYPE_IGNITION) e1:SetRange(LOCATION_MZONE) e1:SetCountLimit(1) - e1:SetCondition(function(e) return e:GetHandler():IsStatus(STATUS_SPSUMMON_TURN) end) + e1:SetCondition(s.condition) e1:SetTarget(Fusion.SummonEffTG(table.unpack(params))) e1:SetOperation(Fusion.SummonEffOP(table.unpack(params))) c:RegisterEffect(e1) @@ -29,4 +29,8 @@ function s.mfilter(c) end function s.fextra(e,tp,mg) return Duel.GetMatchingGroup(s.mfilter,tp,LOCATION_GRAVE,0,nil) +end +function s.condition(e,tp,eg,ep,ev,re,r,rp) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SPSUMMON_TURN) end \ No newline at end of file diff --git a/rush/c160021012.lua b/rush/c160021012.lua index 696ea780a4..5bb8ef4791 100644 --- a/rush/c160021012.lua +++ b/rush/c160021012.lua @@ -48,7 +48,7 @@ function s.operation(e,tp,eg,ep,ev,re,r,rp) e1:SetValue(160005029) e1:SetReset(RESETS_STANDARD_PHASE_END) c:RegisterEffect(e1) - if c:IsStatus(STATUS_SUMMON_TURN|STATUS_SPSUMMON_TURN) and Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_GRAVE,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then + if c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN|STATUS_SPSUMMON_TURN) and Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_GRAVE,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then local g=Duel.SelectMatchingCard(tp,s.thfilter,tp,LOCATION_GRAVE,0,1,2,nil) if #g>0 then Duel.SendtoHand(g,nil,REASON_EFFECT) diff --git a/rush/c160021025.lua b/rush/c160021025.lua index dd2d6e8f77..3d846875a2 100644 --- a/rush/c160021025.lua +++ b/rush/c160021025.lua @@ -24,7 +24,8 @@ function s.initial_effect(c) c:RegisterEffect(e1) end function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN|STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end function s.target(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>=4 end diff --git a/rush/c160021026.lua b/rush/c160021026.lua index 5d345c061c..ec5521baa3 100644 --- a/rush/c160021026.lua +++ b/rush/c160021026.lua @@ -16,7 +16,8 @@ function s.initial_effect(c) c:RegisterEffect(e1) end function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN|STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end function s.target(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsPlayerCanDiscardDeck(tp,2) end diff --git a/rush/c160021032.lua b/rush/c160021032.lua index 3de6644462..9ed3a4c6ee 100644 --- a/rush/c160021032.lua +++ b/rush/c160021032.lua @@ -26,7 +26,7 @@ function s.ffilter(c,fc,sumtype,tp) end function s.condition(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler() - return c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonType(SUMMON_TYPE_FUSION) + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonType(SUMMON_TYPE_FUSION) end function s.filter(c) return c:IsCode(160008032) diff --git a/rush/c160021039.lua b/rush/c160021039.lua index 32581f9ee2..c1438346fd 100644 --- a/rush/c160021039.lua +++ b/rush/c160021039.lua @@ -56,7 +56,7 @@ function s.operation(e,tp,eg,ep,ev,re,r,rp) e1:SetValue(1) tc:RegisterEffect(e1) end - if c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonType(SUMMON_TYPE_FUSION) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then + if c:IsSummonPhaseMain() and c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonType(SUMMON_TYPE_FUSION) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then Duel.Recover(tp,2000,REASON_EFFECT) end end \ No newline at end of file diff --git a/rush/c160021047.lua b/rush/c160021047.lua index 008cf8f53a..12795bf5d5 100644 --- a/rush/c160021047.lua +++ b/rush/c160021047.lua @@ -19,7 +19,8 @@ function s.initial_effect(c) c:RegisterEffect(e1) end function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SPSUMMON_TURN) end function s.cfilter(c) return c:IsMonster() and c:IsAbleToDeckOrExtraAsCost() diff --git a/rush/c160021068.lua b/rush/c160021068.lua index 0790156321..cbf52397c8 100644 --- a/rush/c160021068.lua +++ b/rush/c160021068.lua @@ -17,7 +17,8 @@ function s.initial_effect(c) c:RegisterEffect(e1) end function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN|STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end function s.cost(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.CheckLPCost(tp,500) end diff --git a/rush/c160022012.lua b/rush/c160022012.lua index 73c8364e1f..84bb7a6154 100644 --- a/rush/c160022012.lua +++ b/rush/c160022012.lua @@ -22,7 +22,8 @@ function s.matfilter(c) return c:IsLocation(LOCATION_HAND|LOCATION_MZONE) and c:IsAttribute(ATTRIBUTE_WIND) and c:GetBaseDefense()==1200 and c:IsAbleToGrave() end function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN|STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end function s.cost(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToDeckOrExtraAsCost,tp,LOCATION_HAND,0,1,e:GetHandler()) end diff --git a/rush/c160022017.lua b/rush/c160022017.lua index 605ea46b04..52bea52ff1 100644 --- a/rush/c160022017.lua +++ b/rush/c160022017.lua @@ -22,7 +22,8 @@ function s.filter(c) return c:IsAttribute(ATTRIBUTE_WIND) and c:IsDefense(1200) end function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end function s.thfilter(c) return c:IsCode(160006013,160022012) and c:IsAbleToHand() diff --git a/rush/c160022021.lua b/rush/c160022021.lua index 79feb0b323..0c870878bf 100644 --- a/rush/c160022021.lua +++ b/rush/c160022021.lua @@ -16,7 +16,8 @@ function s.initial_effect(c) end s.listed_names={160022048,80811661} function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN|STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end function s.setfilter(c) return c:IsCode(160022048,80811661) and c:IsSSetable() diff --git a/rush/c160022022.lua b/rush/c160022022.lua index d89fed32e9..557495cb51 100644 --- a/rush/c160022022.lua +++ b/rush/c160022022.lua @@ -16,7 +16,8 @@ function s.initial_effect(c) c:RegisterEffect(e1) end function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN|STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end function s.thfilter(c) return c:IsRace(RACE_WARRIOR) and c:IsAttribute(ATTRIBUTE_DARK) and c:IsAttack(1200) and c:IsDefense(900) and c:IsAbleToHand() diff --git a/rush/c160022032.lua b/rush/c160022032.lua index 1986e80833..754bbe34d2 100644 --- a/rush/c160022032.lua +++ b/rush/c160022032.lua @@ -21,7 +21,7 @@ end s.listed_names={160421024,160020061} function s.condition(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler() - return c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonType(SUMMON_TYPE_FUSION) + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonType(SUMMON_TYPE_FUSION) end function s.target(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsPlayerCanDiscardDeck(tp,2) end diff --git a/rush/c160022034.lua b/rush/c160022034.lua index 5e49ceb7e4..19ece9c291 100644 --- a/rush/c160022034.lua +++ b/rush/c160022034.lua @@ -20,7 +20,7 @@ function s.initial_effect(c) end function s.condition(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler() - return c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonType(SUMMON_TYPE_RITUAL) + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonType(SUMMON_TYPE_RITUAL) end function s.cfilter(c) return c:IsFaceup() and c:IsAbleToGraveAsCost() and not c:IsType(TYPE_RITUAL) diff --git a/rush/c160022038.lua b/rush/c160022038.lua index cf1591843a..daf2117688 100644 --- a/rush/c160022038.lua +++ b/rush/c160022038.lua @@ -12,13 +12,17 @@ function s.initial_effect(c) e1:SetType(EFFECT_TYPE_IGNITION) e1:SetRange(LOCATION_MZONE) e1:SetCountLimit(1) - e1:SetCondition(function(e) return e:GetHandler():IsStatus(STATUS_SPSUMMON_TURN) end) + e1:SetCondition(s.condition) e1:SetCost(s.cost) e1:SetTarget(s.target) e1:SetOperation(s.operation) c:RegisterEffect(e1) end s.listed_names={160004013} +function s.condition(e,tp,eg,ep,ev,re,r,rp) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SPSUMMON_TURN) +end function s.cfilter(c) return c:IsMonster() and c:IsRace(RACE_AQUA) and c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsAbleToDeckOrExtraAsCost() end diff --git a/rush/c160022039.lua b/rush/c160022039.lua index c3e1d8bb7d..1d8ce4ea7f 100644 --- a/rush/c160022039.lua +++ b/rush/c160022039.lua @@ -29,7 +29,7 @@ function s.matcheck(e,c) end function s.condition(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler() - return c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonType(SUMMON_TYPE_RITUAL) and c:GetFlagEffect(id)>0 + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonType(SUMMON_TYPE_RITUAL) and c:GetFlagEffect(id)>0 end function s.target(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsPlayerCanDraw(tp,2) end diff --git a/rush/c160022068.lua b/rush/c160022068.lua index 2f30a6c407..0678c67b3b 100644 --- a/rush/c160022068.lua +++ b/rush/c160022068.lua @@ -17,7 +17,8 @@ function s.initial_effect(c) c:RegisterEffect(e1) end function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN|STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end function s.cost(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.CheckLPCost(tp,500) end diff --git a/rush/c160202022.lua b/rush/c160202022.lua index 981bddaba9..df5204834a 100644 --- a/rush/c160202022.lua +++ b/rush/c160202022.lua @@ -14,7 +14,8 @@ function s.initial_effect(c) c:RegisterEffect(e1) end function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end function s.target(e,tp,eg,ep,ev,re,r,rp,chk) local ct=Duel.GetMatchingGroupCountRush(aux.TRUE,tp,0,LOCATION_MZONE,nil) diff --git a/rush/c160205047.lua b/rush/c160205047.lua index 4dd5af5ab4..f189a6e910 100644 --- a/rush/c160205047.lua +++ b/rush/c160205047.lua @@ -25,31 +25,28 @@ function s.operation(e,tp,eg,ep,ev,re,r,rp) if #g>0 and Duel.SendtoGrave(g,REASON_COST)>0 then --Effect local c=e:GetHandler() - if c:IsFaceup() and c:IsRelateToEffect(e) then - local e1=Effect.CreateEffect(c) - e1:SetType(EFFECT_TYPE_SINGLE) - e1:SetCode(EFFECT_UPDATE_ATTACK) - e1:SetValue(1000) - e1:SetReset(RESETS_STANDARD_PHASE_END) - c:RegisterEffect(e1) - --Cannot be destroyed by card effects - local e2=Effect.CreateEffect(c) - e2:SetType(EFFECT_TYPE_SINGLE) - e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT) - e2:SetDescription(3001) - e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CLIENT_HINT) - e2:SetRange(LOCATION_MZONE) - e2:SetReset(RESETS_STANDARD_PHASE_END) - e2:SetValue(1) - c:RegisterEffect(e2) - if c:IsStatus(STATUS_SPSUMMON_TURN) and Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_GRAVE,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then - Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) - local tg=Duel.SelectMatchingCard(tp,s.thfilter,tp,LOCATION_GRAVE,0,1,1,nil) - if #tg>0 then - Duel.HintSelection(tg,true) - Duel.BreakEffect() - Duel.SendtoHand(tg,nil,REASON_EFFECT) - end + local e1=Effect.CreateEffect(c) + e1:SetType(EFFECT_TYPE_SINGLE) + e1:SetCode(EFFECT_UPDATE_ATTACK) + e1:SetValue(1000) + e1:SetReset(RESETS_STANDARD_PHASE_END) + c:RegisterEffect(e1) + --Cannot be destroyed by card effects + local e2=Effect.CreateEffect(c) + e2:SetType(EFFECT_TYPE_SINGLE) + e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT) + e2:SetDescription(3001) + e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CLIENT_HINT) + e2:SetRange(LOCATION_MZONE) + e2:SetReset(RESETS_STANDARD_PHASE_END) + e2:SetValue(1) + c:RegisterEffect(e2) + if c:IsSummonPhaseMain() and c:IsStatus(STATUS_SPSUMMON_TURN) and Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_GRAVE,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then + Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) + local tg=Duel.SelectMatchingCard(tp,s.thfilter,tp,LOCATION_GRAVE,0,1,1,nil) + if #tg>0 then + Duel.BreakEffect() + Duel.SendtoHand(tg,nil,REASON_EFFECT) end end end diff --git a/rush/c160205058.lua b/rush/c160205058.lua index a2bdf84e7c..ec5a6f1d39 100644 --- a/rush/c160205058.lua +++ b/rush/c160205058.lua @@ -17,7 +17,8 @@ function s.initial_effect(c) c:RegisterEffect(e1) end function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end function s.cost(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToDeckOrExtraAsCost,tp,LOCATION_HAND,0,1,e:GetHandler()) end diff --git a/rush/c160208018.lua b/rush/c160208018.lua index 6880514aef..de385e2778 100644 --- a/rush/c160208018.lua +++ b/rush/c160208018.lua @@ -30,28 +30,26 @@ function s.operation(e,tp,eg,ep,ev,re,r,rp) local g=Duel.SelectMatchingCard(tp,Card.IsAbleToGraveAsCost,tp,LOCATION_HAND,0,1,3,nil) if Duel.SendtoGrave(g,REASON_COST)==0 then return end --Effect - if c:IsRelateToEffect(e) and c:IsFaceup() then - --Cannot be destroyed by opponent's trap - local e1=Effect.CreateEffect(c) - e1:SetDescription(3012) - e1:SetType(EFFECT_TYPE_SINGLE) - e1:SetCode(EFFECT_INDESTRUCTABLE_EFFECT) - e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CLIENT_HINT) - e1:SetValue(s.efilter) - e1:SetReset(RESETS_STANDARD_PHASE_END) - c:RegisterEffect(e1) - --Piercing - c:AddPiercing(RESETS_STANDARD_PHASE_END) - --Increase ATK - local ct=g:FilterCount(Card.IsMonster,nil) - if ct>0 and c:IsStatus(STATUS_SPSUMMON_TURN) then - local e2=Effect.CreateEffect(c) - e2:SetType(EFFECT_TYPE_SINGLE) - e2:SetCode(EFFECT_UPDATE_ATTACK) - e2:SetValue(ct*1000) - e2:SetReset(RESETS_STANDARD_PHASE_END) - c:RegisterEffect(e2) - end + --Cannot be destroyed by opponent's trap + local e1=Effect.CreateEffect(c) + e1:SetDescription(3012) + e1:SetType(EFFECT_TYPE_SINGLE) + e1:SetCode(EFFECT_INDESTRUCTABLE_EFFECT) + e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CLIENT_HINT) + e1:SetValue(s.efilter) + e1:SetReset(RESETS_STANDARD_PHASE_END) + c:RegisterEffect(e1) + --Piercing + c:AddPiercing(RESETS_STANDARD_PHASE_END) + --Increase ATK + local ct=g:FilterCount(Card.IsMonster,nil) + if ct>0 and c:IsSummonPhaseMain() and c:IsStatus(STATUS_SPSUMMON_TURN) then + local e2=Effect.CreateEffect(c) + e2:SetType(EFFECT_TYPE_SINGLE) + e2:SetCode(EFFECT_UPDATE_ATTACK) + e2:SetValue(ct*1000) + e2:SetReset(RESETS_STANDARD_PHASE_END) + c:RegisterEffect(e2) end end function s.efilter(e,te) diff --git a/rush/c160209048.lua b/rush/c160209048.lua index 70c004f5a9..e06d780ebd 100644 --- a/rush/c160209048.lua +++ b/rush/c160209048.lua @@ -17,7 +17,8 @@ function s.initial_effect(c) end s.listed_names={52097679,160004052} function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN|STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end function s.ssfilter(c) return c:IsCode(52097679,160004052) and c:IsSpellTrap() and c:IsSSetable() and not c:IsType(TYPE_FIELD) diff --git a/rush/c160209063.lua b/rush/c160209063.lua index 5b82777451..a0ddc12035 100644 --- a/rush/c160209063.lua +++ b/rush/c160209063.lua @@ -17,7 +17,8 @@ function s.initial_effect(c) end s.listed_names={160209059} function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN|STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end function s.target(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsPlayerCanDiscardDeck(tp,2) end diff --git a/rush/c160209064.lua b/rush/c160209064.lua index 5c8184fffd..a8501d77f9 100644 --- a/rush/c160209064.lua +++ b/rush/c160209064.lua @@ -17,7 +17,8 @@ function s.initial_effect(c) end s.listed_names={CARD_PRIMA_GUITARNA} function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN|STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end function s.target(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsPlayerCanDiscardDeck(tp,2) end diff --git a/rush/c160211026.lua b/rush/c160211026.lua index f3bfd3c582..6e08233d82 100644 --- a/rush/c160211026.lua +++ b/rush/c160211026.lua @@ -24,7 +24,8 @@ function s.matfilter(c,scard,sumtype,tp) return c:IsRace(RACE_ROCK,scard,sumtype,tp) and c:IsLevelBelow(4) end function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SPSUMMON_TURN) end function s.sfilter(c) return c:IsCode(160211037,160211038) and c:IsSSetable() diff --git a/rush/c160212043.lua b/rush/c160212043.lua index 40823e9667..dbe44c8159 100644 --- a/rush/c160212043.lua +++ b/rush/c160212043.lua @@ -25,7 +25,8 @@ function s.initial_effect(c) end s.listed_names={160212044} function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end function s.cost(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end diff --git a/rush/c160212044.lua b/rush/c160212044.lua index a4400da864..9c1e0c0f09 100644 --- a/rush/c160212044.lua +++ b/rush/c160212044.lua @@ -22,7 +22,8 @@ function s.initial_effect(c) c:RegisterEffect(e1) end function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end function s.target(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsPlayerCanDiscardDeck(tp,3) end diff --git a/rush/c160213016.lua b/rush/c160213016.lua index 92115cbdaa..fca0384585 100644 --- a/rush/c160213016.lua +++ b/rush/c160213016.lua @@ -17,7 +17,8 @@ function s.initial_effect(c) end s.listed_names={160015025,160213012} function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end function s.target(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>=4 end diff --git a/rush/c160213052.lua b/rush/c160213052.lua index 18b9f1b80d..9bd48622c4 100644 --- a/rush/c160213052.lua +++ b/rush/c160213052.lua @@ -23,7 +23,7 @@ function s.matfilter(c,fc,sumtype,tp) end function s.condition(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler() - return c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonType(SUMMON_TYPE_FUSION) + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonType(SUMMON_TYPE_FUSION) end function s.cfilter(c) return c:IsMonster() and c:IsRace(RACE_INSECT) and not c:IsLevel(9) and c:IsAbleToDeckOrExtraAsCost() diff --git a/rush/c160214001.lua b/rush/c160214001.lua index 9c3a77d561..d01df8212b 100644 --- a/rush/c160214001.lua +++ b/rush/c160214001.lua @@ -17,7 +17,8 @@ function s.initial_effect(c) c:RegisterEffect(e1) end function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN|STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end function s.cost(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.CheckLPCost(tp,500) end diff --git a/rush/c160214039.lua b/rush/c160214039.lua index e30aca7f50..85826cc734 100644 --- a/rush/c160214039.lua +++ b/rush/c160214039.lua @@ -32,7 +32,7 @@ function s.contactop(g,tp) end function s.condition(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler() - return c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonType(SUMMON_TYPE_FUSION) + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonType(SUMMON_TYPE_FUSION) end function s.thfilter(c) return c:IsCode(160208002) and c:IsAbleToHand() diff --git a/rush/c160214042.lua b/rush/c160214042.lua index a553a108eb..5f89ff0a18 100644 --- a/rush/c160214042.lua +++ b/rush/c160214042.lua @@ -16,7 +16,8 @@ function s.initial_effect(c) end s.listed_names={160302004} function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN|STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end function s.target(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsPlayerCanDiscardDeck(tp,2) end diff --git a/rush/c160215002.lua b/rush/c160215002.lua index 15cbc68c76..1e32c358d4 100644 --- a/rush/c160215002.lua +++ b/rush/c160215002.lua @@ -22,7 +22,7 @@ function s.cfilter(c) end function s.condition(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler() - return c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonType(SUMMON_TYPE_RITUAL) + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonType(SUMMON_TYPE_RITUAL) and Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_GRAVE,0,1,nil) end function s.spfilter(c,e,tp) diff --git a/rush/c160215006.lua b/rush/c160215006.lua index d04ee0245c..bd92dde052 100644 --- a/rush/c160215006.lua +++ b/rush/c160215006.lua @@ -17,7 +17,8 @@ function s.initial_effect(c) end s.listed_names={160215005} function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN|STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end function s.target(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToGrave,tp,LOCATION_HAND,0,1,nil) end diff --git a/rush/c160215014.lua b/rush/c160215014.lua index bb4d114241..0d57539391 100644 --- a/rush/c160215014.lua +++ b/rush/c160215014.lua @@ -12,13 +12,17 @@ function s.initial_effect(c) e1:SetType(EFFECT_TYPE_IGNITION) e1:SetRange(LOCATION_MZONE) e1:SetCountLimit(1) - e1:SetCondition(function(e) return e:GetHandler():IsStatus(STATUS_SPSUMMON_TURN) end) + e1:SetCondition(s.condition) e1:SetCost(s.cost) e1:SetTarget(s.target) e1:SetOperation(s.operation) c:RegisterEffect(e1) end s.listed_names={160004013} +function s.condition(e,tp,eg,ep,ev,re,r,rp) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SPSUMMON_TURN) +end function s.cost(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsPlayerCanDiscardDeckAsCost(tp,1) end end diff --git a/rush/c160215015.lua b/rush/c160215015.lua index 283ed4f137..3ea1eeeb71 100644 --- a/rush/c160215015.lua +++ b/rush/c160215015.lua @@ -12,12 +12,16 @@ function s.initial_effect(c) e1:SetType(EFFECT_TYPE_IGNITION) e1:SetRange(LOCATION_MZONE) e1:SetCountLimit(1) - e1:SetCondition(function(e) return e:GetHandler():IsStatus(STATUS_SPSUMMON_TURN) end) + e1:SetCondition(s.condition) e1:SetCost(s.cost) e1:SetOperation(s.operation) c:RegisterEffect(e1) end s.listed_names={160004013} +function s.condition(e,tp,eg,ep,ev,re,r,rp) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SPSUMMON_TURN) +end function s.cost(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsPlayerCanDiscardDeckAsCost(tp,1) end end diff --git a/rush/c160215033.lua b/rush/c160215033.lua index 7ee4b0cec8..226a9305db 100644 --- a/rush/c160215033.lua +++ b/rush/c160215033.lua @@ -14,16 +14,16 @@ function s.initial_effect(c) e1:SetOperation(s.spop) c:RegisterEffect(e1) --Special Summon 1 monster from the GY - local e1=Effect.CreateEffect(c) - e1:SetDescription(aux.Stringid(id,0)) - e1:SetCategory(CATEGORY_SPECIAL_SUMMON) - e1:SetType(EFFECT_TYPE_IGNITION) - e1:SetRange(LOCATION_MZONE) - e1:SetCountLimit(1) - e1:SetCondition(function(e)return e:GetHandler():IsStatus(STATUS_SUMMON_TURN|STATUS_SPSUMMON_TURN)end) - e1:SetTarget(s.target) - e1:SetOperation(s.operation) - c:RegisterEffect(e1) + local e2=Effect.CreateEffect(c) + e2:SetDescription(aux.Stringid(id,0)) + e2:SetCategory(CATEGORY_SPECIAL_SUMMON) + e2:SetType(EFFECT_TYPE_IGNITION) + e2:SetRange(LOCATION_MZONE) + e2:SetCountLimit(1) + e2:SetCondition(s.condition) + e2:SetTarget(s.target) + e2:SetOperation(s.operation) + c:RegisterEffect(e2) end function s.spcon(e,c) if c==nil then return true end @@ -48,6 +48,10 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp,c) Duel.SendtoGrave(g,REASON_COST) g:DeleteGroup() end +function s.condition(e,tp,eg,ep,ev,re,r,rp) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) +end function s.spfilter(c,e,tp) return c:IsRace(RACE_FIEND) and c:IsAttribute(ATTRIBUTE_FIRE) and c:IsLevel(10) and not c:IsAttack(2400) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE) end diff --git a/rush/c160215040.lua b/rush/c160215040.lua index daf7cf6a7c..35cfa970b7 100644 --- a/rush/c160215040.lua +++ b/rush/c160215040.lua @@ -20,7 +20,8 @@ function s.initial_effect(c) end s.listed_names={CARD_FUSION,160210022} function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SPSUMMON_TURN) end function s.ssfilter(c) return (c:IsCode(CARD_FUSION,160210022) or c:IsEquipSpell()) and c:IsSpellTrap() and c:IsSSetable() and not c:IsType(TYPE_FIELD) diff --git a/rush/c160215084.lua b/rush/c160215084.lua index 074c5f0050..516c250dc3 100644 --- a/rush/c160215084.lua +++ b/rush/c160215084.lua @@ -19,7 +19,7 @@ function s.initial_effect(c) end function s.condition(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler() - return c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonType(SUMMON_TYPE_RITUAL) + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonType(SUMMON_TYPE_RITUAL) end function s.target(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsPlayerCanDiscardDeck(tp,2) end diff --git a/rush/c160318001.lua b/rush/c160318001.lua index 593cdaf46d..1746c337a9 100644 --- a/rush/c160318001.lua +++ b/rush/c160318001.lua @@ -10,21 +10,22 @@ function s.initial_effect(c) e1:SetType(EFFECT_TYPE_IGNITION) e1:SetRange(LOCATION_MZONE) e1:SetCountLimit(1) - e1:SetCondition(s.descon) - e1:SetTarget(s.destg) - e1:SetOperation(s.desop) + e1:SetCondition(s.condition) + e1:SetTarget(s.target) + e1:SetOperation(s.operation) c:RegisterEffect(e1) end s.toss_coin=true -function s.descon(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) +function s.condition(e,tp,eg,ep,ev,re,r,rp) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end -function s.destg(e,tp,eg,ep,ev,re,r,rp,chk) +function s.target(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsExistingMatchingCard(nil,tp,0,LOCATION_ONFIELD,1,nil) end Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,2) Duel.SetPossibleOperationInfo(0,CATEGORY_DESTROY,nil,1,1-tp,LOCATION_ONFIELD) end -function s.desop(e,tp,eg,ep,ev,re,r,rp) +function s.operation(e,tp,eg,ep,ev,re,r,rp) --Effect Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) local g=Duel.SelectMatchingCard(tp,nil,tp,0,LOCATION_ONFIELD,1,1,nil) diff --git a/rush/c160319005.lua b/rush/c160319005.lua index 9ebcd06f7b..1bc2797028 100644 --- a/rush/c160319005.lua +++ b/rush/c160319005.lua @@ -17,7 +17,8 @@ function s.initial_effect(c) end s.listed_names={160319027} --The Ultimate Blue-Eyed Legend function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN|STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end function s.target(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>=4 end diff --git a/rush/c160319007.lua b/rush/c160319007.lua index a5247a5b78..63d20aa96d 100644 --- a/rush/c160319007.lua +++ b/rush/c160319007.lua @@ -17,7 +17,8 @@ function s.initial_effect(c) c:RegisterEffect(e1) end function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN|STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end function s.costfilter(c) return c:IsFaceup() and c:IsLevelBelow(4) and c:IsType(TYPE_EFFECT) and c:IsAbleToGraveAsCost() diff --git a/rush/c160320009.lua b/rush/c160320009.lua index c0529aabf8..6662d60a10 100644 --- a/rush/c160320009.lua +++ b/rush/c160320009.lua @@ -15,8 +15,9 @@ function s.initial_effect(c) c:RegisterEffect(e1) end function s.condition(e,tp,eg,ep,ev,re,r,rp) + local c=e:GetHandler() return Duel.GetFieldGroupCount(tp,LOCATION_ONFIELD|LOCATION_HAND,0)==1 - and e:GetHandler():IsStatus(STATUS_SUMMON_TURN|STATUS_SPSUMMON_TURN) + and c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end function s.target(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsPlayerCanDraw(tp,2) end diff --git a/rush/c160321009.lua b/rush/c160321009.lua index 97206eddf6..dd6de6998e 100644 --- a/rush/c160321009.lua +++ b/rush/c160321009.lua @@ -18,7 +18,8 @@ function s.initial_effect(c) end s.listed_names={CARD_CYBER_DRAGON} function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end function s.costfilter(c) return c:IsMonster() and c:IsAbleToGraveAsCost() diff --git a/rush/c160322002.lua b/rush/c160322002.lua index aca212dacc..db98e33071 100644 --- a/rush/c160322002.lua +++ b/rush/c160322002.lua @@ -53,7 +53,7 @@ function s.operation(e,tp,eg,ep,ev,re,r,rp) e1:SetValue(CARD_HARPIE_LADY) e1:SetReset(RESETS_STANDARD_PHASE_END) c:RegisterEffect(e1) - if c:IsStatus(STATUS_SPSUMMON_TURN) and Duel.IsExistingMatchingCard(Card.IsSpellTrap,tp,0,LOCATION_ONFIELD,1,nil) + if c:IsSummonPhaseMain() and c:IsStatus(STATUS_SPSUMMON_TURN) and Duel.IsExistingMatchingCard(Card.IsSpellTrap,tp,0,LOCATION_ONFIELD,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) local dg=Duel.SelectMatchingCard(tp,Card.IsSpellTrap,tp,0,LOCATION_ONFIELD,1,1,nil) diff --git a/rush/c160322004.lua b/rush/c160322004.lua index 5ecd00e98a..1b58e483f9 100644 --- a/rush/c160322004.lua +++ b/rush/c160322004.lua @@ -14,7 +14,7 @@ function s.initial_effect(c) e1:SetType(EFFECT_TYPE_IGNITION) e1:SetRange(LOCATION_MZONE) e1:SetCountLimit(1) - e1:SetCondition(function(e) return e:GetHandler():IsStatus(STATUS_SPSUMMON_TURN) end) + e1:SetCondition(s.condition) e1:SetTarget(s.target) e1:SetOperation(s.operation) c:RegisterEffect(e1) @@ -30,6 +30,10 @@ end function s.contactop(g,tp) Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST+REASON_MATERIAL) end +function s.condition(e,tp,eg,ep,ev,re,r,rp) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SPSUMMON_TURN) +end function s.target(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsExistingMatchingCard(Card.IsCanChangePositionRush,tp,0,LOCATION_MZONE,1,nil) end end diff --git a/rush/c160323006.lua b/rush/c160323006.lua index ac4e398ad1..8e5bca6e26 100644 --- a/rush/c160323006.lua +++ b/rush/c160323006.lua @@ -10,7 +10,7 @@ function s.initial_effect(c) e1:SetType(EFFECT_TYPE_IGNITION) e1:SetRange(LOCATION_MZONE) e1:SetCountLimit(1) - e1:SetCondition(function(e) return e:GetHandler():IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end) + e1:SetCondition(s.condition) e1:SetTarget(s.target) e1:SetOperation(s.operation) c:RegisterEffect(e1) @@ -28,6 +28,10 @@ function s.checkop(e,tp,eg,ep,ev,re,r,rp) Duel.RegisterFlagEffect(ep,id,RESET_PHASE|PHASE_END,0,1) end end +function s.condition(e,tp,eg,ep,ev,re,r,rp) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) +end function s.setfilter(c) return c:IsCode(76792184) and c:IsSSetable() end diff --git a/rush/c160402018.lua b/rush/c160402018.lua index a0ce639651..b4b1b93d43 100644 --- a/rush/c160402018.lua +++ b/rush/c160402018.lua @@ -10,27 +10,28 @@ function s.initial_effect(c) e1:SetType(EFFECT_TYPE_IGNITION) e1:SetRange(LOCATION_MZONE) e1:SetCountLimit(1) - e1:SetCondition(s.descond) - e1:SetTarget(s.destg) - e1:SetOperation(s.desop) + e1:SetCondition(s.condition) + e1:SetTarget(s.target) + e1:SetOperation(s.operation) c:RegisterEffect(e1) end -function s.descond(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) +function s.condition(e,tp,eg,ep,ev,re,r,rp) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end function s.desfilter(c) return c:IsFaceup() and c:IsType(TYPE_NORMAL) and c:IsNotMaximumModeSide() end -function s.destg(e,tp,eg,ep,ev,re,r,rp,chk) +function s.target(e,tp,eg,ep,ev,re,r,rp,chk) local g=Duel.GetMatchingGroup(s.desfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil) if chk==0 then return #g>0 end Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,#g,0,0) end -function s.desop(e,tp,eg,ep,ev,re,r,rp) +function s.operation(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler() local g=Duel.GetMatchingGroup(s.desfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil) g=g:AddMaximumCheck() - if Duel.Destroy(g,REASON_EFFECT)>0 and c:IsRelateToEffect(e) and c:IsFaceup() then + if Duel.Destroy(g,REASON_EFFECT)>0 then Duel.BreakEffect() local ct=#Duel.GetOperatedGroup() local e1=Effect.CreateEffect(c) diff --git a/rush/c160402022.lua b/rush/c160402022.lua index f379e8f889..f65ee39852 100644 --- a/rush/c160402022.lua +++ b/rush/c160402022.lua @@ -12,17 +12,18 @@ function s.initial_effect(c) e2:SetType(EFFECT_TYPE_IGNITION) e2:SetRange(LOCATION_MZONE) e2:SetCountLimit(1) - e2:SetCondition(s.spcond) + e2:SetCondition(s.condition) e2:SetCost(s.cost) - e2:SetTarget(s.sptg) - e2:SetOperation(s.spop) + e2:SetTarget(s.target) + e2:SetOperation(s.operation) c:RegisterEffect(e2) end function s.otfilter(c) return c:IsCode(CARD_CYBER_DRAGON) and c:IsFaceup() end -function s.spcond(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) +function s.condition(e,tp,eg,ep,ev,re,r,rp) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end function s.cost(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToDeckOrExtraAsCost,tp,LOCATION_HAND,0,1,nil) end @@ -30,12 +31,12 @@ end function s.filter(c,e,sp) return c:IsCode(CARD_CYBER_DRAGON) and c:IsCanBeSpecialSummoned(e,0,sp,false,false) end -function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk) +function s.target(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE) end -function s.spop(e,tp,eg,ep,ev,re,r,rp) +function s.operation(e,tp,eg,ep,ev,re,r,rp) -- Requirement Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) local td=Duel.SelectMatchingCard(tp,Card.IsAbleToDeckOrExtraAsCost,tp,LOCATION_HAND,0,1,1,nil) diff --git a/rush/c160402030.lua b/rush/c160402030.lua index be4aa66806..fc174db038 100644 --- a/rush/c160402030.lua +++ b/rush/c160402030.lua @@ -26,7 +26,7 @@ function s.initial_effect(c) end function s.checkop(e,tp,eg,ep,ev,re,r,rp) for tc in eg:Iter() do - if tc:IsSummonType(SUMMON_TYPE_FUSION) then + if tc:IsSummonType(SUMMON_TYPE_FUSION) and Duel.IsMainPhase() then Duel.RegisterFlagEffect(tc:GetSummonPlayer(),id,RESET_PHASE|PHASE_END,0,1) end end diff --git a/rush/c160402033.lua b/rush/c160402033.lua index be20c655a0..92ab22bf7d 100644 --- a/rush/c160402033.lua +++ b/rush/c160402033.lua @@ -19,9 +19,10 @@ function s.filter(c) return c:IsFaceup() and c:GetLevel()>0 end function s.condition(e,tp,eg,ep,ev,re,r,rp) + local c=e:GetHandler() local g=Duel.GetMatchingGroup(aux.FilterMaximumSideFunctionEx(s.filter),tp,0,LOCATION_MZONE,nil) local lvl=g:GetSum(Card.GetLevel) - return lvl>=10 and e:GetHandler():IsStatus(STATUS_SUMMON_TURN|STATUS_SPSUMMON_TURN) + return lvl>=10 and c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end function s.thfilter(c) return c:IsMonster() and c:IsAttribute(ATTRIBUTE_DARK) and c:IsRace(RACE_DRAGON|RACE_FIEND) and c:IsDefense(1200) and c:IsAbleToHand() diff --git a/rush/c160402040.lua b/rush/c160402040.lua index 2e0468ea9f..77017702b8 100644 --- a/rush/c160402040.lua +++ b/rush/c160402040.lua @@ -16,7 +16,8 @@ function s.initial_effect(c) c:RegisterEffect(e1) end function s.condition(e,tp,eg,ep,ev,re,r,rp) - return e:GetHandler():IsStatus(STATUS_SUMMON_TURN|STATUS_SPSUMMON_TURN) + local c=e:GetHandler() + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end function s.cost(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsPlayerCanDiscardDeckAsCost(tp,1) end diff --git a/rush/c160402043.lua b/rush/c160402043.lua index 06e190b0ec..5fe2d62b81 100644 --- a/rush/c160402043.lua +++ b/rush/c160402043.lua @@ -27,7 +27,7 @@ function s.contactop(g,tp) end function s.condition(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler() - return c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonType(SUMMON_TYPE_FUSION) + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonType(SUMMON_TYPE_FUSION) end function s.filter(c,e,tp) return c:IsLevel(7) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) diff --git a/rush/c160402048.lua b/rush/c160402048.lua index 372c94abfd..2dacd5c451 100644 --- a/rush/c160402048.lua +++ b/rush/c160402048.lua @@ -20,7 +20,7 @@ function s.initial_effect(c) end function s.condition(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler() - return c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonType(SUMMON_TYPE_FUSION) + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonType(SUMMON_TYPE_FUSION) end function s.cost(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToGraveAsCost,tp,LOCATION_HAND,0,2,nil) end diff --git a/rush/c160402051.lua b/rush/c160402051.lua index b77f85f4ec..f09686f615 100644 --- a/rush/c160402051.lua +++ b/rush/c160402051.lua @@ -24,7 +24,7 @@ function s.ffilter(c,fc,sumtype,tp) end function s.condition(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler() - return c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonType(SUMMON_TYPE_FUSION) + return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonType(SUMMON_TYPE_FUSION) end function s.target(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDefensePos,tp,0,LOCATION_MZONE,1,nil) end diff --git a/rush/c160428006.lua b/rush/c160428006.lua index eb10447635..4af58fc829 100644 --- a/rush/c160428006.lua +++ b/rush/c160428006.lua @@ -18,8 +18,9 @@ function s.filter(c) return c:IsRace(RACE_SPELLCASTER) and c:IsAttribute(ATTRIBUTE_DARK) end function s.condition(e,tp,eg,ep,ev,re,r,rp) + local c=e:GetHandler() return Duel.GetMatchingGroupCount(s.filter,tp,LOCATION_GRAVE,0,nil)>=8 - and e:GetHandler():IsStatus(STATUS_SPSUMMON_TURN) + and c:IsSummonPhaseMain() and c:IsStatus(STATUS_SPSUMMON_TURN) end function s.desfilter(c) return c:IsFaceup() and c:IsLevelBelow(8) and c:IsNotMaximumModeSide()