Commit 2c359264 authored by Nemo Ma's avatar Nemo Ma

fix

parent 3b24ed63
--幻旅传说·迷途
--traveler saga stray
--21.04.10
local m=11451403
local cm=_G["c"..m]
......@@ -60,14 +60,14 @@ function cm.reop1(e,tp,eg,ep,ev,re,r,rp)
local n1,n2=ne:GetLabel()
if #g1>0 and n1>0 then
local g=Duel.GetMatchingGroup(nil,tp,LOCATION_MZONE+LOCATION_HAND,0,nil)
g=g:Filter(Card.IsAbleToRemove,nil,tp,POS_FACEUP,REASON_RULE)
g=g:Filter(Card.IsAbleToRemove,nil,tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local tg=g:Select(tp,1,1,nil)
local tc=tg:GetFirst()
Duel.HintSelection(tg)
if tc:IsLocation(LOCATION_MZONE) then
Duel.Hint(HINT_CARD,0,m)
if Duel.Remove(tc,POS_FACEUP,REASON_RULE+REASON_TEMPORARY)>0 then
if Duel.Remove(tc,0,REASON_RULE+REASON_TEMPORARY)>0 then
n1=n1-1
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetDescription(aux.Stringid(m,0))
......@@ -108,7 +108,7 @@ function cm.reop1(e,tp,eg,ep,ev,re,r,rp)
Duel.HintSelection(tg)
if tc:IsLocation(LOCATION_MZONE) then
Duel.Hint(HINT_CARD,0,m)
if Duel.Remove(tc,POS_FACEUP,REASON_RULE+REASON_TEMPORARY)>0 then
if Duel.Remove(tc,0,REASON_RULE+REASON_TEMPORARY)>0 then
n2=n2-1
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetDescription(aux.Stringid(m,0))
......@@ -167,14 +167,14 @@ function cm.reop2(e,tp,eg,ep,ev,re,r,rp)
local n1,n2=ne:GetLabel()
if #g1>0 and n1>0 then
local g=Duel.GetMatchingGroup(nil,tp,LOCATION_MZONE+LOCATION_HAND,0,nil)
g=g:Filter(Card.IsAbleToRemove,nil,tp,POS_FACEUP,REASON_RULE)
g=g:Filter(Card.IsAbleToRemove,nil,tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local tg=g:Select(tp,1,1,nil)
local tc=tg:GetFirst()
Duel.HintSelection(tg)
if tc:IsLocation(LOCATION_MZONE) then
Duel.Hint(HINT_CARD,0,m)
if Duel.Remove(tc,POS_FACEUP,REASON_RULE+REASON_TEMPORARY)>0 then
if Duel.Remove(tc,0,REASON_RULE+REASON_TEMPORARY)>0 then
n1=n1-1
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetDescription(aux.Stringid(m,0))
......@@ -215,7 +215,7 @@ function cm.reop2(e,tp,eg,ep,ev,re,r,rp)
Duel.HintSelection(tg)
if tc:IsLocation(LOCATION_MZONE) then
Duel.Hint(HINT_CARD,0,m)
if Duel.Remove(tc,POS_FACEUP,REASON_RULE+REASON_TEMPORARY)>0 then
if Duel.Remove(tc,0,REASON_RULE+REASON_TEMPORARY)>0 then
n2=n2-1
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetDescription(aux.Stringid(m,0))
......
--shrimp,patrol of dragon palace
--shrimp, patrol of dragon palace
local m=11451411
local cm=_G["c"..m]
function cm.initial_effect(c)
......@@ -16,6 +16,11 @@ function cm.initial_effect(c)
e1:SetTarget(cm.target)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1)
local e4=e1:Clone()
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetCode(0)
e4:SetCondition(cm.condition0)
c:RegisterEffect(e4)
--effect2
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
......@@ -41,7 +46,10 @@ function cm.mat_filter(c)
return c:IsAttribute(ATTRIBUTE_WATER)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return (tp~=Duel.GetTurnPlayer() or Duel.IsPlayerAffectedByEffect(tp,11451425)) and not e:GetHandler():IsPublic()
return tp~=Duel.GetTurnPlayer() and not e:GetHandler():IsPublic()
end
function cm.condition0(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsPlayerAffectedByEffect(tp,11451425) and not e:GetHandler():IsPublic()
end
function cm.filter(c,tp)
return c:IsSetCard(0x6978) and bit.band(c:GetType(),0x82)==0x82 and c:IsAbleToGraveAsCost() and c:CheckActivateEffect(true,true,false)~=nil
......
--crab,soidier of dragon palace
--crab, soidier of dragon palace
local m=11451412
local cm=_G["c"..m]
function cm.initial_effect(c)
......@@ -16,6 +16,11 @@ function cm.initial_effect(c)
e1:SetTarget(cm.target)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1)
local e4=e1:Clone()
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetCode(0)
e4:SetCondition(cm.condition0)
c:RegisterEffect(e4)
--effect2
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
......@@ -40,7 +45,10 @@ function cm.mat_filter(c)
return c:IsAttribute(ATTRIBUTE_WATER)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return (tp~=Duel.GetTurnPlayer() or Duel.IsPlayerAffectedByEffect(tp,11451425)) and (Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2) and not e:GetHandler():IsPublic()
return tp~=Duel.GetTurnPlayer() and (Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2) and not e:GetHandler():IsPublic()
end
function cm.condition0(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsPlayerAffectedByEffect(tp,11451425) and not e:GetHandler():IsPublic()
end
function cm.filter(c,tp)
return c:IsSetCard(0x6978) and bit.band(c:GetType(),0x82)==0x82 and c:IsAbleToGraveAsCost() and c:CheckActivateEffect(true,true,false)~=nil
......
--yaksha,warrior of dragon palace
--yaksha, warrior of dragon palace
local m=11451413
local cm=_G["c"..m]
function cm.initial_effect(c)
......@@ -16,6 +16,11 @@ function cm.initial_effect(c)
e1:SetTarget(cm.target)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1)
local e4=e1:Clone()
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetCode(0)
e4:SetCondition(cm.condition0)
c:RegisterEffect(e4)
--effect2
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
......@@ -40,7 +45,10 @@ function cm.mat_filter(c)
return c:IsAttribute(ATTRIBUTE_WATER)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return (tp~=Duel.GetTurnPlayer() or Duel.IsPlayerAffectedByEffect(tp,11451425)) and (Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE) and not e:GetHandler():IsPublic()
return tp~=Duel.GetTurnPlayer() and (Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE) and not e:GetHandler():IsPublic()
end
function cm.condition0(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsPlayerAffectedByEffect(tp,11451425) and not e:GetHandler():IsPublic()
end
function cm.filter(c,tp)
return c:IsSetCard(0x6978) and bit.band(c:GetType(),0x82)==0x82 and c:IsAbleToGraveAsCost() and c:CheckActivateEffect(true,true,false)~=nil
......@@ -78,7 +86,8 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
if operation then operation(e,tp,eg,ep,ev,re,r,rp) end
if r and not e:GetHandler():IsLocation(LOCATION_GRAVE) and not e:GetHandler():IsLocation(LOCATION_REMOVED) then
Duel.BreakEffect()
if Duel.SendtoGrave(e:GetHandler(),REASON_EFFECT)~=0 then
local ph=Duel.GetCurrentPhase()
if Duel.SendtoGrave(e:GetHandler(),REASON_EFFECT)~=0 and ph>=PHASE_BATTLE_START and ph<=PHASE_BATTLE then
Duel.SkipPhase(Duel.GetTurnPlayer(),PHASE_BATTLE,RESET_PHASE+PHASE_BATTLE_STEP,1)
end
end
......
......@@ -15,6 +15,11 @@ function cm.initial_effect(c)
e1:SetTarget(cm.target)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1)
local e4=e1:Clone()
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetCode(0)
e4:SetCondition(cm.condition0)
c:RegisterEffect(e4)
--effect2
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
......@@ -34,10 +39,13 @@ function cm.filter2(c)
return c:IsSetCard(0x6978) and c:IsAbleToHand() and c:IsType(TYPE_MONSTER)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return (tp~=Duel.GetTurnPlayer() or Duel.IsPlayerAffectedByEffect(tp,11451425)) and Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_HAND,0,1,e:GetHandler()) and not e:GetHandler():IsPublic() and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
return tp~=Duel.GetTurnPlayer() and not e:GetHandler():IsPublic()
end
function cm.condition0(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsPlayerAffectedByEffect(tp,11451425) and not e:GetHandler():IsPublic()
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
if chk==0 then return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_HAND,0,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local g=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_HAND,0,1,1,e:GetHandler())
local c=g:GetFirst()
......@@ -46,7 +54,7 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if tp==Duel.GetTurnPlayer() then Duel.IsPlayerAffectedByEffect(tp,11451425):GetHandler():RegisterFlagEffect(11451425,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1) end
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
if chk==0 then return e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,tp,LOCATION_HAND)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -16,6 +16,11 @@ function cm.initial_effect(c)
e1:SetTarget(cm.target)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1)
local e4=e1:Clone()
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetCode(0)
e4:SetCondition(cm.condition0)
c:RegisterEffect(e4)
--effect2
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,0))
......@@ -45,10 +50,13 @@ function cm.filter4(c)
return bit.band(c:GetType(),0x81)==0x81 and c:IsAbleToHand()
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return (tp~=Duel.GetTurnPlayer() or Duel.IsPlayerAffectedByEffect(tp,11451425)) and Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_HAND,0,1,e:GetHandler()) and not e:GetHandler():IsPublic() and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and (Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2)
return tp~=Duel.GetTurnPlayer() and not e:GetHandler():IsPublic() and (Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2)
end
function cm.condition0(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsPlayerAffectedByEffect(tp,11451425) and not e:GetHandler():IsPublic()
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
if chk==0 then return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_HAND,0,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local g=Duel.SelectMatchingCard(tp,cm.filter,tp,LOCATION_HAND,0,1,1,e:GetHandler())
local c=g:GetFirst()
......@@ -57,7 +65,7 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if tp==Duel.GetTurnPlayer() then Duel.IsPlayerAffectedByEffect(tp,11451425):GetHandler():RegisterFlagEffect(11451425,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1) end
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
if chk==0 then return e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,tp,LOCATION_HAND)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -56,7 +56,7 @@ function cm.sltg(e,tp,eg,ep,ev,re,r,rp,chk)
local mg=Duel.GetMatchingGroup(cm.filter3,tp,LOCATION_HAND+LOCATION_MZONE,0,nil)
local c=e:GetHandler()
if chkc then return false end
if chk==0 then return Duel.IsExistingTarget(cm.filter1,tp,LOCATION_GRAVE,0,2,nil) and Duel.IsExistingMatchingCard(cm.filter2,tp,LOCATION_EXTRA,0,1,nil,mg) and not c:IsStatus(STATUS_CHAINING) end
if chk==0 then return Duel.IsExistingTarget(cm.filter1,tp,LOCATION_GRAVE,0,2,nil) and Duel.IsExistingMatchingCard(cm.filter2,tp,LOCATION_EXTRA,0,1,nil,mg) and not (c:IsStatus(STATUS_EFFECT_ENABLED) and c:IsStatus(STATUS_CHAINING)) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectTarget(tp,cm.filter1,tp,LOCATION_GRAVE,0,2,2,nil)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,2,0,0)
......
......@@ -154,7 +154,7 @@ function cm.spcon(e,c)
local bg=Duel.GetMatchingGroup(cm.spfilter,tp,LOCATION_EXTRA,0,c,e,tp)
if #bg==0 then return false end
local mg=aux.GetSynMaterials(tp,c)
return mg:IsExists(cm.SynMixFilter1,1,nil,cm.tfilter,nil,nil,cm.ntfilter,1,99,c,mg,nil,cm.chkfilter,false,e)
return mg:IsExists(cm.SynMixFilter1,1,nil,cm.tfilter,nil,nil,cm.ntfilter,1,99,c,mg,nil,cm.chkfilter,false,e) and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_SYNCHRO,tp,false,true)
end
function cm.spop(e,tp,eg,ep,ev,re,r,rp,c,sg,og)
local c=e:GetHandler()
......
......@@ -73,8 +73,7 @@ function c146747.spfilter1(c,e,tp)
return c:IsSetCard(0x12f) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_ATTACK)
end
function c146747.sptg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c146747.spfilter1,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e,tp) end
if chk==0 then return Duel.IsExistingMatchingCard(c146747.spfilter1,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end
function c146747.spop1(e,tp,eg,ep,ev,re,r,rp)
......
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