Commit 4753d9cd authored by wind2009's avatar wind2009

Fix

parent 7c21332f
Pipeline #43732 failed with stages
in 2 minutes and 15 seconds
No preview for this file type
#created by superpre
100261001
100261002
100261003
100261005
100261006
101305076
\ No newline at end of file
...@@ -36,6 +36,7 @@ function s.sumfilter(e,c) ...@@ -36,6 +36,7 @@ function s.sumfilter(e,c)
end end
function s.sumop(e,tp,eg,ep,ev,re,r,rp) function s.sumop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetFlagEffect(tp,id)~=0 then return end if Duel.GetFlagEffect(tp,id)~=0 then return end
Duel.Hint(HINT_CARD,0,id)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetDescription(aux.Stringid(id,1)) e1:SetDescription(aux.Stringid(id,1))
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
......
...@@ -32,11 +32,10 @@ function s.addcon(e) ...@@ -32,11 +32,10 @@ function s.addcon(e)
return Duel.IsExistingMatchingCard(s.cfilter,e:GetHandlerPlayer(),LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) return Duel.IsExistingMatchingCard(s.cfilter,e:GetHandlerPlayer(),LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil)
end end
function s.spcon(e,tp,eg,ep,ev,re,r,rp) function s.spcon(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase() return Duel.IsMainPhase()
return ph==PHASE_MAIN1 or ph==PHASE_MAIN2
end end
function s.cfilter2(c,tp) function s.cfilter2(c,tp,skip)
return c:IsReleasableByEffect() and Duel.GetMZoneCount(tp,c)>0 return c:IsReleasableByEffect() and (skip or Duel.GetMZoneCount(tp,c)>0)
end end
function s.spfilter(c,e,tp) function s.spfilter(c,e,tp)
return aux.IsCodeListed(c,15259703) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,true,false) return aux.IsCodeListed(c,15259703) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,true,false)
...@@ -46,7 +45,8 @@ function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -46,7 +45,8 @@ function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_ONFIELD,0,1,nil) then if Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_ONFIELD,0,1,nil) then
loc=LOCATION_MZONE loc=LOCATION_MZONE
end end
if chk==0 then return Duel.IsExistingMatchingCard(s.cfilter2,tp,LOCATION_MZONE,loc,1,nil,tp) and Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_HAND+LOCATION_DECK,0,1,nil,e,tp) end if chk==0 then return Duel.IsExistingMatchingCard(s.cfilter2,tp,LOCATION_MZONE,loc,1,nil,tp)
and Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_HAND+LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_RELEASE,nil,1,0,0) Duel.SetOperationInfo(0,CATEGORY_RELEASE,nil,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_DECK)
end end
...@@ -56,7 +56,12 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -56,7 +56,12 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
loc=LOCATION_MZONE loc=LOCATION_MZONE
end end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local rg=Duel.SelectMatchingCard(tp,s.cfilter2,tp,LOCATION_MZONE,loc,1,1,nil,tp) local rg
if Duel.IsExistingMatchingCard(s.cfilter2,tp,LOCATION_MZONE,loc,1,nil,tp,false) then
rg=Duel.SelectMatchingCard(tp,s.cfilter2,tp,LOCATION_MZONE,loc,1,1,nil,tp,false)
else
rg=Duel.SelectMatchingCard(tp,s.cfilter2,tp,LOCATION_MZONE,loc,1,1,nil,tp,true)
end
if rg:GetCount()>0 and Duel.Release(rg,REASON_EFFECT)>0 if rg:GetCount()>0 and Duel.Release(rg,REASON_EFFECT)>0
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
......
...@@ -30,7 +30,7 @@ function s.initial_effect(c) ...@@ -30,7 +30,7 @@ function s.initial_effect(c)
e3:SetCode(EVENT_FREE_CHAIN) e3:SetCode(EVENT_FREE_CHAIN)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET) e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetHintTiming(TIMINGS_CHECK_MONSTER+TIMING_END_PHASE+TIMING_DAMAGE_STEP) e3:SetHintTiming(TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e3:SetCountLimit(1) e3:SetCountLimit(1)
e3:SetTarget(s.tdtg) e3:SetTarget(s.tdtg)
e3:SetOperation(s.tdop) e3:SetOperation(s.tdop)
...@@ -64,7 +64,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -64,7 +64,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
if tc:IsAbleToHand() and (not tc:IsSSetable() or Duel.SelectOption(tp,1190,1153)==0) then if tc:IsAbleToHand() and (not tc:IsSSetable() or Duel.SelectOption(tp,1190,1153)==0) then
Duel.SendtoHand(tc,nil,REASON_EFFECT) Duel.SendtoHand(tc,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc) Duel.ConfirmCards(1-tp,tc)
else elseif tc:IsSSetable() then
Duel.SSet(tp,tc) Duel.SSet(tp,tc)
end end
end end
......
...@@ -3,6 +3,7 @@ local s,id,o=GetID() ...@@ -3,6 +3,7 @@ local s,id,o=GetID()
function s.initial_effect(c) function s.initial_effect(c)
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddMaterialCodeList(c,53183600) aux.AddMaterialCodeList(c,53183600)
aux.AddSetNameMonsterList(c,0x62)
aux.AddFusionProcFunFun(c,aux.FilterBoolFunction(Card.IsFusionCode,53183600),s.ffilter,2,true) aux.AddFusionProcFunFun(c,aux.FilterBoolFunction(Card.IsFusionCode,53183600),s.ffilter,2,true)
aux.AddContactFusionProcedure(c,s.cfilter,LOCATION_HAND+LOCATION_MZONE+LOCATION_GRAVE,0,aux.ContactFusionSendToDeck(c)) aux.AddContactFusionProcedure(c,s.cfilter,LOCATION_HAND+LOCATION_MZONE+LOCATION_GRAVE,0,aux.ContactFusionSendToDeck(c))
--cannot special summon --cannot special summon
...@@ -49,7 +50,7 @@ function s.ffilter(c) ...@@ -49,7 +50,7 @@ function s.ffilter(c)
return c:IsType(TYPE_TOON) return c:IsType(TYPE_TOON)
end end
function s.thfilter(c) function s.thfilter(c)
return (c:IsSetCard(0x62) or c:IsCode(id) or aux.IsCodeListed(c,15259703)) return (c:IsSetCard(0x62) or aux.IsSetNameMonsterListed(c,0x62) or aux.IsCodeListed(c,15259703))
and c:IsAbleToHand() and c:IsAbleToHand()
end end
function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
......
...@@ -28,7 +28,7 @@ function s.initial_effect(c) ...@@ -28,7 +28,7 @@ function s.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function s.thfilter(c) function s.thfilter(c)
return (c:IsSetCard(0x62) or aux.IsCodeListed(c,15259703)) return (c:IsSetCard(0x62) or aux.IsSetNameMonsterListed(c,0x62) or aux.IsCodeListed(c,15259703))
and c:IsAbleToHand() and c:IsAbleToHand()
end end
function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
...@@ -56,6 +56,8 @@ function s.rmop(e,tp,eg,ep,ev,re,r,rp) ...@@ -56,6 +56,8 @@ function s.rmop(e,tp,eg,ep,ev,re,r,rp)
if Duel.SelectEffectYesNo(tp,e:GetHandler(),aux.Stringid(id,3)) then if Duel.SelectEffectYesNo(tp,e:GetHandler(),aux.Stringid(id,3)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local tg=Duel.SelectMatchingCard(tp,s.rmfilter,tp,LOCATION_MZONE,0,1,1,nil) local tg=Duel.SelectMatchingCard(tp,s.rmfilter,tp,LOCATION_MZONE,0,1,1,nil)
Duel.Hint(HINT_CARD,0,id)
Duel.HintSelection(tg)
local rc=tg:GetFirst() local rc=tg:GetFirst()
if Duel.Remove(rc,0,REASON_EFFECT+REASON_TEMPORARY)~=0 then if Duel.Remove(rc,0,REASON_EFFECT+REASON_TEMPORARY)~=0 then
rc:RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1) rc:RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
......
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