Commit 0aff1644 authored by Huangnan's avatar Huangnan

fix

parent c112a252
Pipeline #23946 passed with stages
in 37 minutes and 42 seconds
......@@ -19,6 +19,7 @@ function s.initial_effect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_BE_MATERIAL)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e3:SetCountLimit(1,id+10000)
e3:SetCondition(s.spcon2)
e3:SetTarget(s.sptg2)
e3:SetOperation(s.spop2)
......
......@@ -36,6 +36,7 @@ function c24400009.thfilter(c)
return c.named_with_ZhanShuRenXing and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
end
function c24400009.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_MUSIC,0,aux.Stringid(24400009,1))
local g=Duel.GetMatchingGroup(c24400009.thfilter,tp,LOCATION_DECK,0,nil)
if g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(24400009,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
......
......@@ -24,7 +24,7 @@ function cm.initial_effect(c)
e23:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e23:SetCode(EVENT_ATTACK_ANNOUNCE)
e23:SetRange(LOCATION_FZONE)
e23:SetCountLimit(2)
e23:SetCountLimit(1)
e23:SetCondition(cm.spacon)
e23:SetTarget(cm.spatg)
e23:SetOperation(cm.spaop)
......@@ -90,7 +90,7 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
end
--Effect 1
function cm.immtg(e,c)
return ors.stf(c) and c~=e:GetHandler()
return ors.stf(c)
end
--Effect 2
---
......
......@@ -62,7 +62,7 @@ end
function cm.effectfilter(e,ct)
local te=Duel.GetChainInfo(ct,CHAININFO_TRIGGERING_EFFECT)
local tc=te:GetHandler()
return tc:IsType(TYPE_TRAP) or ors.stf(tc)
return ors.stf(tc)
end
function cm.ref(c,tp)
return c:IsPreviousControler(tp) and c:IsPreviousLocation(LOCATION_ONFIELD)
......
......@@ -59,7 +59,7 @@ function cm.activate1(e,tp,eg,ep,ev,re,r,rp)
Duel.Destroy(eg,REASON_EFFECT)
local res=1
Duel.BreakEffect()
ors.exrmop(e,tp,res)
--ors.exrmop(e,tp,res)
end
function cm.condition2(e,tp,eg,ep,ev,re,r,rp)
return re:IsHasType(EFFECT_TYPE_ACTIVATE) and Duel.IsChainNegatable(ev)
......@@ -76,6 +76,6 @@ function cm.activate2(e,tp,eg,ep,ev,re,r,rp)
Duel.Destroy(eg,REASON_EFFECT)
local res=1
Duel.BreakEffect()
ors.exrmop(e,tp,res)
--ors.exrmop(e,tp,res)
end
end
......@@ -9,7 +9,7 @@ function cm.initial_effect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH)
e1:SetCost(cm.cost)
--e1:SetCost(cm.cost)
e1:SetTarget(cm.target)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
......
......@@ -3,10 +3,6 @@ overuins=overuins or {}
ors=overuins
rkc=rkc or {}
--setname
--c+code.isoveruins=true
--function c+code.f(c)
--return _G["c"..c:GetCode()].isoveruins
--end
--za---
function ors.stf(c)
return _G["c"..c:GetCode()].isoveruins
......@@ -244,6 +240,8 @@ function ors.allop2(c)
ors.counter=true
ors[0]=0
ors[1]=0
rkc[0]=0
rkc[1]=0
local ge0=Effect.CreateEffect(c)
ge0:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge0:SetCode(EVENT_DRAW)
......@@ -255,6 +253,11 @@ function ors.allop2(c)
ge1:SetCode(EVENT_CHAIN_NEGATED)
ge1:SetOperation(ors.alne)
Duel.RegisterEffect(ge1,0)
local ge3=Effect.CreateEffect(c)
ge3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge3:SetCode(EVENT_ADJUST)
ge3:SetOperation(ors.rmexdrx)
Duel.RegisterEffect(ge3,0)
end
end
function ors.exdrcon(e,tp,eg,ep,ev,re,r,rp)
......@@ -264,6 +267,13 @@ end
function ors.rmexdr(e,tp,eg,ep,ev,re,r,rp)
ors[ep]=0
end
function ors.rmexdrx(e,tp,eg,ep,ev,re,r,rp)
local ct=rkc[tp]+rkc[1-tp]
local tunp=Duel.GetTurnPlayer()
if Duel.GetTurnCount()==1 and Duel.GetLP(tunp)>=16000 and ct==0 then
rkc[tunp]=rkc[tunp]+1
end
end
function ors.alne(e,tp,eg,ep,ev,re,r,rp)
local rc=re:GetHandler()
local lp=re:GetOwnerPlayer()
......@@ -356,7 +366,7 @@ end
function ors.impop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local num=Duel.GetChainInfo(0,CHAININFO_TARGET_PARAM)
local dp=e:GetHandlerPlayer()
local dp=e:GetOwnerPlayer()
if num>0 then
ors[dp]=ors[dp]+2
Duel.Hint(HINT_OPSELECTED,1-tp,aux.Stringid(30015500,5))
......@@ -370,7 +380,11 @@ function ors.impop(e,tp,eg,ep,ev,re,r,rp)
e1:SetCode(EFFECT_DRAW_COUNT)
e1:SetTargetRange(1,0)
e1:SetReset(RESET_PHASE+PHASE_DRAW+RESET_SELF_TURN)
e1:SetValue(ors[dp]+1)
if (rkc[tp]+rkc[1-tp])>0 then
e1:SetValue(ors[dp]+2)
else
e1:SetValue(ors[dp]+1)
end
Duel.RegisterEffect(e1,dp)
if c:IsRelateToEffect(e) then
Duel.Remove(c,POS_FACEDOWN,REASON_EFFECT)
......@@ -389,14 +403,13 @@ end
function ors.tthop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local num=Duel.GetChainInfo(0,CHAININFO_TARGET_PARAM)
local dp=e:GetHandlerPlayer()
local dp=e:GetOwnerPlayer()
if num>0 then
ors[dp]=ors[dp]+2
ors[dp]=ors[dp]+2
Duel.Hint(HINT_OPSELECTED,1-tp,aux.Stringid(30015500,5))
Duel.Hint(HINT_OPSELECTED,tp,aux.Stringid(30015500,5))
c:ResetFlagEffect(30015500)
else
ors[dp]=ors[dp]+1
ors[dp]=ors[dp]+1
end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
......@@ -404,7 +417,11 @@ function ors.tthop(e,tp,eg,ep,ev,re,r,rp)
e1:SetCode(EFFECT_DRAW_COUNT)
e1:SetTargetRange(1,0)
e1:SetReset(RESET_PHASE+PHASE_DRAW+RESET_SELF_TURN)
e1:SetValue(ors[dp]+1)
if (rkc[tp]+rkc[1-tp])>0 then
e1:SetValue(ors[dp]+2)
else
e1:SetValue(ors[dp]+1)
end
Duel.RegisterEffect(e1,dp)
if c:IsRelateToEffect(e) then
Duel.Remove(c,POS_FACEDOWN,REASON_EFFECT)
......
......@@ -52,13 +52,14 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if e:IsHasType(EFFECT_TYPE_ACTIVATE) then
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_IMMUNE_EFFECT)
e1:SetRange(LOCATION_MZONE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetRange(LOCATION_SZONE)
e1:SetTargetRange(LOCATION_SZONE,0)
e1:SetTarget(aux.TargetBoolFunction(Card.IsCode,m))
e1:SetReset(RESET_PHASE+RESET_CHAIN)
e1:SetValue(cm.efilter(ctype))
c:RegisterEffect(e1)
Duel.RegisterEffect(e1,tp)
end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,dg,cg:GetCount(),0,0)
end
......
......@@ -103,7 +103,7 @@ function s.filter1(c,e)
return c:IsFaceupEx() and c:IsType(TYPE_MONSTER) and c:IsCanBeFusionMaterial() and c:IsAbleToDeck() and not c:IsImmuneToEffect(e)
end
function s.filter2(c,e,tp,m,f,chkf,check)
return c:IsType(TYPE_FUSION) and (check or c:GetBaseAttack(35)) and (not f or f(c))
return c:IsType(TYPE_FUSION) and (check or c:IsAttack(35)) and (not f or f(c))
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
end
function s.checkfilter(c)
......
......@@ -83,7 +83,7 @@ function s.filter1(c,e)
return c:IsFaceupEx() and c:IsType(TYPE_MONSTER) and c:IsCanBeFusionMaterial() and c:IsAbleToDeck() and not c:IsImmuneToEffect(e)
end
function s.filter2(c,e,tp,m,f,chkf,check)
return c:IsType(TYPE_FUSION) and (check or c:GetBaseAttack(35)) and (not f or f(c))
return c:IsType(TYPE_FUSION) and (check or c:IsAttack(35)) and (not f or f(c))
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
end
function s.checkfilter(c)
......
......@@ -58,7 +58,7 @@ function s.filter1(c,e)
return c:IsFaceupEx() and c:IsType(TYPE_MONSTER) and c:IsCanBeFusionMaterial() and c:IsAbleToDeck() and not c:IsImmuneToEffect(e)
end
function s.filter2(c,e,tp,m,f,chkf,check)
return c:IsType(TYPE_FUSION) and (check or c:GetBaseAttack(35)) and (not f or f(c))
return c:IsType(TYPE_FUSION) and (check or c:IsAttack(35)) and (not f or f(c))
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
end
function s.checkfilter(c)
......
......@@ -74,7 +74,7 @@ function s.filter1(c,e)
return c:IsFaceupEx() and c:IsType(TYPE_MONSTER) and c:IsCanBeFusionMaterial() and c:IsAbleToDeck() and not c:IsImmuneToEffect(e)
end
function s.filter2(c,e,tp,m,f,chkf,check)
return c:IsType(TYPE_FUSION) and (check or c:GetBaseAttack(35)) and (not f or f(c))
return c:IsType(TYPE_FUSION) and (check or c:IsAttack(35)) and (not f or f(c))
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
end
function s.checkfilter(c)
......
......@@ -66,7 +66,7 @@ function s.filter1(c,e)
return c:IsFaceupEx() and c:IsType(TYPE_MONSTER) and c:IsCanBeFusionMaterial() and c:IsAbleToDeck() and not c:IsImmuneToEffect(e)
end
function s.filter2(c,e,tp,m,f,chkf,check)
return c:IsType(TYPE_FUSION) and (check or c:GetBaseAttack(35)) and (not f or f(c))
return c:IsType(TYPE_FUSION) and (check or c:IsAttack(35)) and (not f or f(c))
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
end
function s.checkfilter(c)
......
......@@ -44,7 +44,7 @@ function s.initial_effect(c)
c:RegisterEffect(e7)
end
function s.filter(c)
return c:IsFaceup() and c:IsAttack(35)
return c:IsFaceup() and c:GetBaseAttack(35)
end
function s.handcon(e)
return Duel.IsExistingMatchingCard(s.filter,e:GetHandlerPlayer(),LOCATION_MZONE,0,1,nil)
......
--觉醒的伏龙-海啸
function c50220110.initial_effect(c)
--synchro summon
aux.AddSynchroMixProcedure(c,nil,nil,nil,nil,1,99,nil)
aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1)
c:EnableReviveLimit()
--special summon rule
local e0=Effect.CreateEffect(c)
......@@ -41,8 +41,11 @@ function c50220110.initial_effect(c)
e5:SetCode(EFFECT_UPDATE_DEFENSE)
c:RegisterEffect(e5)
end
function c50220110.tgrfilter(c)
return c:IsFaceup() and c:IsLevelAbove(1) and c:IsAbleToGraveAsCost()
function c50220110.tunerfilter(c)
return c:IsFaceup() and c:IsLevelAbove(1) and c:IsType(TYPE_TUNER) and c:IsAbleToGraveAsCost()
end
function c50220110.xyzmfilter(c)
return c:IsLevelAbove(1) and c:IsAbleToGraveAsCost()
end
function c50220110.mnfilter(c,g)
return g:IsExists(c50220110.mnfilter2,1,c,c)
......@@ -50,28 +53,21 @@ end
function c50220110.mnfilter2(c,mc)
return c:GetLevel()+mc:GetLevel()==6
end
function c50220110.fieldtuner(c,g,tp,sc)
return c:IsLocation(LOCATION_MZONE) and c:IsType(TYPE_TUNER)
end
function c50220110.overlaynottuner(c,g,tp,sc)
return c:IsLocation(LOCATION_OVERLAY) and not c:IsType(TYPE_TUNER)
end
function c50220110.fselect(g,tp,sc)
return g:GetCount()==2
and g:IsExists(c50220110.fieldtuner,1,nil) and g:IsExists(c50220110.overlaynottuner,1,nil)
and g:IsExists(c50220110.mnfilter,1,nil,g)
and Duel.GetLocationCountFromEx(tp,tp,g,sc)>0
and g:IsExists(Card.IsLocation,1,nil,LOCATION_MZONE) and g:IsExists(Card.IsLocation,1,nil,LOCATION_OVERLAY)
and g:IsExists(c50220110.mnfilter,1,nil,g) and Duel.GetLocationCountFromEx(tp,tp,g,sc)>0
end
function c50220110.sprcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
local g=Duel.GetMatchingGroup(c50220110.tgrfilter,tp,LOCATION_MZONE,0,nil)
local g=Duel.GetMatchingGroup(c50220110.tunerfilter,tp,LOCATION_MZONE,0,nil)
local mg=Duel.GetOverlayGroup(tp,LOCATION_MZONE,0,nil)
g:Merge(mg)
return g:CheckSubGroup(c50220110.fselect,2,2,tp,c)
end
function c50220110.sprop(e,tp,eg,ep,ev,re,r,rp,c)
local g=Duel.GetMatchingGroup(c50220110.tgrfilter,tp,LOCATION_MZONE,0,nil)
local g=Duel.GetMatchingGroup(c50220110.tunerfilter,tp,LOCATION_MZONE,0,nil)
local mg=Duel.GetOverlayGroup(tp,LOCATION_MZONE,0,nil)
g:Merge(mg)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
......
--觉醒的伏龙-火山
function c50220115.initial_effect(c)
--synchro summon
aux.AddSynchroMixProcedure(c,nil,nil,nil,nil,1,99,nil)
aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1)
c:EnableReviveLimit()
--special summon rule
local e0=Effect.CreateEffect(c)
......@@ -35,8 +35,11 @@ function c50220115.initial_effect(c)
e3:SetCondition(c50220115.xmcon)
c:RegisterEffect(e3)
end
function c50220115.tgrfilter(c)
return c:IsFaceup() and c:IsLevelAbove(1) and c:IsAbleToGraveAsCost()
function c50220115.tunerfilter(c)
return c:IsFaceup() and c:IsLevelAbove(1) and c:IsType(TYPE_TUNER) and c:IsAbleToGraveAsCost()
end
function c50220115.xyzmfilter(c)
return c:IsLevelAbove(1) and c:IsAbleToGraveAsCost()
end
function c50220115.mnfilter(c,g)
return g:IsExists(c50220115.mnfilter2,1,c,c)
......@@ -44,28 +47,21 @@ end
function c50220115.mnfilter2(c,mc)
return c:GetLevel()+mc:GetLevel()==6
end
function c50220115.fieldtuner(c,g,tp,sc)
return c:IsLocation(LOCATION_MZONE) and c:IsType(TYPE_TUNER)
end
function c50220115.overlaynottuner(c,g,tp,sc)
return c:IsLocation(LOCATION_OVERLAY) and not c:IsType(TYPE_TUNER)
end
function c50220115.fselect(g,tp,sc)
return g:GetCount()==2
and g:IsExists(c50220115.fieldtuner,1,nil) and g:IsExists(c50220115.overlaynottuner,1,nil)
and g:IsExists(c50220115.mnfilter,1,nil,g)
and Duel.GetLocationCountFromEx(tp,tp,g,sc)>0
and g:IsExists(Card.IsLocation,1,nil,LOCATION_MZONE) and g:IsExists(Card.IsLocation,1,nil,LOCATION_OVERLAY)
and g:IsExists(c50220115.mnfilter,1,nil,g) and Duel.GetLocationCountFromEx(tp,tp,g,sc)>0
end
function c50220115.sprcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
local g=Duel.GetMatchingGroup(c50220115.tgrfilter,tp,LOCATION_MZONE,0,nil)
local g=Duel.GetMatchingGroup(c50220115.tunerfilter,tp,LOCATION_MZONE,0,nil)
local mg=Duel.GetOverlayGroup(tp,LOCATION_MZONE,0,nil)
g:Merge(mg)
return g:CheckSubGroup(c50220115.fselect,2,2,tp,c)
end
function c50220115.sprop(e,tp,eg,ep,ev,re,r,rp,c)
local g=Duel.GetMatchingGroup(c50220115.tgrfilter,tp,LOCATION_MZONE,0,nil)
local g=Duel.GetMatchingGroup(c50220115.tunerfilter,tp,LOCATION_MZONE,0,nil)
local mg=Duel.GetOverlayGroup(tp,LOCATION_MZONE,0,nil)
g:Merge(mg)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
......
--觉醒的伏龙-地震
function c50220120.initial_effect(c)
--synchro summon
aux.AddSynchroMixProcedure(c,nil,nil,nil,nil,1,99,nil)
aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1)
c:EnableReviveLimit()
--special summon rule
local e0=Effect.CreateEffect(c)
......@@ -36,8 +36,11 @@ function c50220120.initial_effect(c)
e3:SetCondition(c50220120.xmcon)
c:RegisterEffect(e3)
end
function c50220120.tgrfilter(c)
return c:IsFaceup() and c:IsLevelAbove(1) and c:IsAbleToGraveAsCost()
function c50220120.tunerfilter(c)
return c:IsFaceup() and c:IsLevelAbove(1) and c:IsType(TYPE_TUNER) and c:IsAbleToGraveAsCost()
end
function c50220120.xyzmfilter(c)
return c:IsLevelAbove(1) and c:IsAbleToGraveAsCost()
end
function c50220120.mnfilter(c,g)
return g:IsExists(c50220120.mnfilter2,1,c,c)
......@@ -45,28 +48,21 @@ end
function c50220120.mnfilter2(c,mc)
return c:GetLevel()+mc:GetLevel()==7
end
function c50220120.fieldtuner(c,g,tp,sc)
return c:IsLocation(LOCATION_MZONE) and c:IsType(TYPE_TUNER)
end
function c50220120.overlaynottuner(c,g,tp,sc)
return c:IsLocation(LOCATION_OVERLAY) and not c:IsType(TYPE_TUNER)
end
function c50220120.fselect(g,tp,sc)
return g:GetCount()==2
and g:IsExists(c50220120.fieldtuner,1,nil) and g:IsExists(c50220120.overlaynottuner,1,nil)
and g:IsExists(c50220120.mnfilter,1,nil,g)
and Duel.GetLocationCountFromEx(tp,tp,g,sc)>0
and g:IsExists(Card.IsLocation,1,nil,LOCATION_MZONE) and g:IsExists(Card.IsLocation,1,nil,LOCATION_OVERLAY)
and g:IsExists(c50220120.mnfilter,1,nil,g) and Duel.GetLocationCountFromEx(tp,tp,g,sc)>0
end
function c50220120.sprcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
local g=Duel.GetMatchingGroup(c50220120.tgrfilter,tp,LOCATION_MZONE,0,nil)
local g=Duel.GetMatchingGroup(c50220120.tunerfilter,tp,LOCATION_MZONE,0,nil)
local mg=Duel.GetOverlayGroup(tp,LOCATION_MZONE,0,nil)
g:Merge(mg)
return g:CheckSubGroup(c50220120.fselect,2,2,tp,c)
end
function c50220120.sprop(e,tp,eg,ep,ev,re,r,rp,c)
local g=Duel.GetMatchingGroup(c50220120.tgrfilter,tp,LOCATION_MZONE,0,nil)
local g=Duel.GetMatchingGroup(c50220120.tunerfilter,tp,LOCATION_MZONE,0,nil)
local mg=Duel.GetOverlayGroup(tp,LOCATION_MZONE,0,nil)
g:Merge(mg)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
......
--觉醒的伏龙-飓风
function c50220125.initial_effect(c)
--synchro summon
aux.AddSynchroMixProcedure(c,nil,nil,nil,nil,1,99,nil)
aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1)
c:EnableReviveLimit()
--special summon rule
local e0=Effect.CreateEffect(c)
......@@ -36,8 +36,11 @@ function c50220125.initial_effect(c)
e3:SetCondition(c50220125.xmcon)
c:RegisterEffect(e3)
end
function c50220125.tgrfilter(c)
return c:IsFaceup() and c:IsLevelAbove(1) and c:IsAbleToGraveAsCost()
function c50220125.tunerfilter(c)
return c:IsFaceup() and c:IsLevelAbove(1) and c:IsType(TYPE_TUNER) and c:IsAbleToGraveAsCost()
end
function c50220125.xyzmfilter(c)
return c:IsLevelAbove(1) and c:IsAbleToGraveAsCost()
end
function c50220125.mnfilter(c,g)
return g:IsExists(c50220125.mnfilter2,1,c,c)
......@@ -45,28 +48,21 @@ end
function c50220125.mnfilter2(c,mc)
return c:GetLevel()+mc:GetLevel()==7
end
function c50220125.fieldtuner(c,g,tp,sc)
return c:IsLocation(LOCATION_MZONE) and c:IsType(TYPE_TUNER)
end
function c50220125.overlaynottuner(c,g,tp,sc)
return c:IsLocation(LOCATION_OVERLAY) and not c:IsType(TYPE_TUNER)
end
function c50220125.fselect(g,tp,sc)
return g:GetCount()==2
and g:IsExists(c50220125.fieldtuner,1,nil) and g:IsExists(c50220125.overlaynottuner,1,nil)
and g:IsExists(c50220125.mnfilter,1,nil,g)
and Duel.GetLocationCountFromEx(tp,tp,g,sc)>0
and g:IsExists(Card.IsLocation,1,nil,LOCATION_MZONE) and g:IsExists(Card.IsLocation,1,nil,LOCATION_OVERLAY)
and g:IsExists(c50220125.mnfilter,1,nil,g) and Duel.GetLocationCountFromEx(tp,tp,g,sc)>0
end
function c50220125.sprcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
local g=Duel.GetMatchingGroup(c50220125.tgrfilter,tp,LOCATION_MZONE,0,nil)
local g=Duel.GetMatchingGroup(c50220125.tunerfilter,tp,LOCATION_MZONE,0,nil)
local mg=Duel.GetOverlayGroup(tp,LOCATION_MZONE,0,nil)
g:Merge(mg)
return g:CheckSubGroup(c50220125.fselect,2,2,tp,c)
end
function c50220125.sprop(e,tp,eg,ep,ev,re,r,rp,c)
local g=Duel.GetMatchingGroup(c50220125.tgrfilter,tp,LOCATION_MZONE,0,nil)
local g=Duel.GetMatchingGroup(c50220125.tunerfilter,tp,LOCATION_MZONE,0,nil)
local mg=Duel.GetOverlayGroup(tp,LOCATION_MZONE,0,nil)
g:Merge(mg)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
......
--觉醒的伏龙-月蚀
function c50220130.initial_effect(c)
--synchro summon
aux.AddSynchroMixProcedure(c,nil,nil,nil,nil,1,99,nil)
aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1)
c:EnableReviveLimit()
--special summon rule
local e0=Effect.CreateEffect(c)
......@@ -37,8 +37,11 @@ function c50220130.initial_effect(c)
e3:SetCondition(c50220130.xmcon)
c:RegisterEffect(e3)
end
function c50220130.tgrfilter(c)
return c:IsFaceup() and c:IsLevelAbove(1) and c:IsAbleToGraveAsCost()
function c50220130.tunerfilter(c)
return c:IsFaceup() and c:IsLevelAbove(1) and c:IsType(TYPE_TUNER) and c:IsAbleToGraveAsCost()
end
function c50220130.xyzmfilter(c)
return c:IsLevelAbove(1) and c:IsAbleToGraveAsCost()
end
function c50220130.mnfilter(c,g)
return g:IsExists(c50220130.mnfilter2,1,c,c)
......@@ -46,28 +49,21 @@ end
function c50220130.mnfilter2(c,mc)
return c:GetLevel()+mc:GetLevel()==8
end
function c50220130.fieldtuner(c,g,tp,sc)
return c:IsLocation(LOCATION_MZONE) and c:IsType(TYPE_TUNER)
end
function c50220130.overlaynottuner(c,g,tp,sc)
return c:IsLocation(LOCATION_OVERLAY) and not c:IsType(TYPE_TUNER)
end
function c50220130.fselect(g,tp,sc)
return g:GetCount()==2
and g:IsExists(c50220130.fieldtuner,1,nil) and g:IsExists(c50220130.overlaynottuner,1,nil)
and g:IsExists(c50220130.mnfilter,1,nil,g)
and Duel.GetLocationCountFromEx(tp,tp,g,sc)>0
and g:IsExists(Card.IsLocation,1,nil,LOCATION_MZONE) and g:IsExists(Card.IsLocation,1,nil,LOCATION_OVERLAY)
and g:IsExists(c50220130.mnfilter,1,nil,g) and Duel.GetLocationCountFromEx(tp,tp,g,sc)>0
end
function c50220130.sprcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
local g=Duel.GetMatchingGroup(c50220130.tgrfilter,tp,LOCATION_MZONE,0,nil)
local g=Duel.GetMatchingGroup(c50220130.tunerfilter,tp,LOCATION_MZONE,0,nil)
local mg=Duel.GetOverlayGroup(tp,LOCATION_MZONE,0,nil)
g:Merge(mg)
return g:CheckSubGroup(c50220130.fselect,2,2,tp,c)
end
function c50220130.sprop(e,tp,eg,ep,ev,re,r,rp,c)
local g=Duel.GetMatchingGroup(c50220130.tgrfilter,tp,LOCATION_MZONE,0,nil)
local g=Duel.GetMatchingGroup(c50220130.tunerfilter,tp,LOCATION_MZONE,0,nil)
local mg=Duel.GetOverlayGroup(tp,LOCATION_MZONE,0,nil)
g:Merge(mg)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
......
--觉醒的伏龙-日珥
function c50220135.initial_effect(c)
--synchro summon
aux.AddSynchroMixProcedure(c,nil,nil,nil,nil,1,99,nil)
aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1)
c:EnableReviveLimit()
--special summon rule
local e0=Effect.CreateEffect(c)
......@@ -36,8 +36,11 @@ function c50220135.initial_effect(c)
e3:SetCondition(c50220135.xmcon)
c:RegisterEffect(e3)
end
function c50220135.tgrfilter(c)
return c:IsFaceup() and c:IsLevelAbove(1) and c:IsAbleToGraveAsCost()
function c50220135.tunerfilter(c)
return c:IsFaceup() and c:IsLevelAbove(1) and c:IsType(TYPE_TUNER) and c:IsAbleToGraveAsCost()
end
function c50220135.xyzmfilter(c)
return c:IsLevelAbove(1) and c:IsAbleToGraveAsCost()
end
function c50220135.mnfilter(c,g)
return g:IsExists(c50220135.mnfilter2,1,c,c)
......@@ -45,28 +48,21 @@ end
function c50220135.mnfilter2(c,mc)
return c:GetLevel()+mc:GetLevel()==8
end
function c50220135.fieldtuner(c,g,tp,sc)
return c:IsLocation(LOCATION_MZONE) and c:IsType(TYPE_TUNER)
end
function c50220135.overlaynottuner(c,g,tp,sc)
return c:IsLocation(LOCATION_OVERLAY) and not c:IsType(TYPE_TUNER)
end
function c50220135.fselect(g,tp,sc)
return g:GetCount()==2
and g:IsExists(c50220135.fieldtuner,1,nil) and g:IsExists(c50220135.overlaynottuner,1,nil)
and g:IsExists(c50220135.mnfilter,1,nil,g)
and Duel.GetLocationCountFromEx(tp,tp,g,sc)>0
and g:IsExists(Card.IsLocation,1,nil,LOCATION_MZONE) and g:IsExists(Card.IsLocation,1,nil,LOCATION_OVERLAY)
and g:IsExists(c50220135.mnfilter,1,nil,g) and Duel.GetLocationCountFromEx(tp,tp,g,sc)>0
end
function c50220135.sprcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
local g=Duel.GetMatchingGroup(c50220135.tgrfilter,tp,LOCATION_MZONE,0,nil)
local g=Duel.GetMatchingGroup(c50220135.tunerfilter,tp,LOCATION_MZONE,0,nil)
local mg=Duel.GetOverlayGroup(tp,LOCATION_MZONE,0,nil)
g:Merge(mg)
return g:CheckSubGroup(c50220135.fselect,2,2,tp,c)
end
function c50220135.sprop(e,tp,eg,ep,ev,re,r,rp,c)
local g=Duel.GetMatchingGroup(c50220135.tgrfilter,tp,LOCATION_MZONE,0,nil)
local g=Duel.GetMatchingGroup(c50220135.tunerfilter,tp,LOCATION_MZONE,0,nil)
local mg=Duel.GetOverlayGroup(tp,LOCATION_MZONE,0,nil)
g:Merge(mg)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
......
......@@ -35,10 +35,9 @@ function c88178006.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c88178006.cfilter,tp,LOCATION_ONFIELD,0,1,nil)
end
function c88178006.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(1-tp) and chkc:IsLocation(LOCATION_ONFIELD) and aux.NegateEffectMonsterFilter(chkc) and Duel.GetCustomActivityCount(88179006,tp,ACTIVITY_SPSUMMON)==0 end
if chk==0 then return Duel.IsExistingTarget(aux.NegateEffectMonsterFilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
if chk==0 then return Duel.IsExistingTarget(aux.aux.NegateAnyFilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISABLE)
local g=Duel.SelectTarget(tp,aux.NegateEffectMonsterFilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
local g=Duel.SelectTarget(tp,aux.aux.NegateAnyFilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
......
......@@ -96,7 +96,7 @@ function c88178007.spop(e,tp,eg,ep,ev,re,r,rp)
end
end
function c88178007.tnfilter(c)
return c:IsFaceup() and c:IsSetCard(0x3591) and not c:IsType(TYPE_TUNER)
return c:IsFaceup() and c:IsSetCard(0x3591) and c:IsLevelAbove(1) and not c:IsType(TYPE_TUNER)
end
function c88178007.tntg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) end
......
......@@ -2,7 +2,8 @@
function c88178037.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_REMOVE+CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,88178037)
......
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