Commit f4a71679 authored by POLYMER's avatar POLYMER

fix

parent 2f5cfbc0
...@@ -144,8 +144,8 @@ function cm.returntofield(tc) ...@@ -144,8 +144,8 @@ function cm.returntofield(tc)
Duel.SendtoGrave(gc,REASON_RULE) Duel.SendtoGrave(gc,REASON_RULE)
Duel.BreakEffect() Duel.BreakEffect()
end end
Duel.MoveToField(tc,tp,tp,LOCATION_FZONE,POS_FACEUP,true) Duel.MoveToField(tc,p,p,LOCATION_FZONE,POS_FACEUP,true)
return return
end end
Duel.ReturnToField(tc) Duel.ReturnToField(tc)
end end
......
...@@ -117,7 +117,7 @@ function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -117,7 +117,7 @@ function cm.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return false end if chkc then return false end
if chk==0 then return e:GetHandler():GetFlagEffect(m)==0 end if chk==0 then return e:GetHandler():GetFlagEffect(m)==0 end
e:GetHandler():RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD+RESET_CHAIN,0,1,Duel.GetCurrentChain()) e:GetHandler():RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD+RESET_CHAIN,0,1,Duel.GetCurrentChain())
local g=Duel.GetMatchingGroup(Card.IsCanBeEffectTarget,tp,0,LOCATION_ONFIELD,1,nil,e) local g=Duel.GetMatchingGroup(Card.IsCanBeEffectTarget,tp,0,LOCATION_ONFIELD,nil,e)
if #g>0 then if #g>0 then
local tc=g:GetFirst() local tc=g:GetFirst()
if #g>1 then if #g>1 then
......
...@@ -83,8 +83,8 @@ function cm.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -83,8 +83,8 @@ function cm.thop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetFlagEffect(tp,code+0xffffff)==0 then if Duel.GetFlagEffect(tp,code+0xffffff)==0 then
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(code,4)) e1:SetDescription(aux.Stringid(code,4))
e1:SetCode(code+0xffffff+0x20000000) e1:SetCode(code+0xffffff+EFFECT_FLAG_EFFECT)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
......
...@@ -258,7 +258,7 @@ function cm.returntofield(tc) ...@@ -258,7 +258,7 @@ function cm.returntofield(tc)
Duel.SendtoGrave(gc,REASON_RULE) Duel.SendtoGrave(gc,REASON_RULE)
Duel.BreakEffect() Duel.BreakEffect()
end end
Duel.MoveToField(tc,tp,tp,LOCATION_FZONE,POS_FACEUP,true) Duel.MoveToField(tc,p,p,LOCATION_FZONE,POS_FACEUP,true)
return return
end end
if tc:GetPreviousTypeOnField()&TYPE_EQUIP>0 then if tc:GetPreviousTypeOnField()&TYPE_EQUIP>0 then
......
...@@ -78,7 +78,7 @@ function s.efilter(e,te) ...@@ -78,7 +78,7 @@ function s.efilter(e,te)
return te:GetOwner()~=e:GetOwner() return te:GetOwner()~=e:GetOwner()
end end
function s.thfilter(c) function s.thfilter(c)
return c:IsFaceupEx() and c:IsCode(12866715) return c:IsFaceupEx() and c:IsCode(12866715) 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)
if chk==0 then return Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_REMOVED,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_REMOVED,0,1,nil) end
......
...@@ -85,9 +85,7 @@ function s.eqop(e,tp,eg,ep,ev,re,r,rp) ...@@ -85,9 +85,7 @@ function s.eqop(e,tp,eg,ep,ev,re,r,rp)
local tg=g:Filter(Card.IsRelateToEffect,nil,e) local tg=g:Filter(Card.IsRelateToEffect,nil,e)
if Duel.GetLocationCount(tp,LOCATION_SZONE)>=tg:GetCount() then if Duel.GetLocationCount(tp,LOCATION_SZONE)>=tg:GetCount() then
local tc=tg:GetFirst() local tc=tg:GetFirst()
if tc:IsRelateToEffect(e) and Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and while tc do
aux.NecroValleyFilter()(tc) then
while tc do
Duel.Equip(tp,tc,c,false,true) Duel.Equip(tp,tc,c,false,true)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
...@@ -105,7 +103,6 @@ function s.eqop(e,tp,eg,ep,ev,re,r,rp) ...@@ -105,7 +103,6 @@ function s.eqop(e,tp,eg,ep,ev,re,r,rp)
tc=tg:GetNext() tc=tg:GetNext()
end end
Duel.EquipComplete() Duel.EquipComplete()
end
end end
end end
function s.eqlimit(e,c) function s.eqlimit(e,c)
......
...@@ -7,7 +7,7 @@ function c49811314.initial_effect(c) ...@@ -7,7 +7,7 @@ function c49811314.initial_effect(c)
c:RegisterEffect(e0) c:RegisterEffect(e0)
--search --search
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_SPECIAL_SUMMON+CATEGORY_SUMMON+CATEGORY_POSITION)
e1:SetDescription(aux.Stringid(49811314,3)) e1:SetDescription(aux.Stringid(49811314,3))
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_CHAINING) e1:SetCode(EVENT_CHAINING)
......
...@@ -58,7 +58,7 @@ function c71401002.op2(e,tp,eg,ep,ev,re,r,rp) ...@@ -58,7 +58,7 @@ function c71401002.op2(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c71401002.filter2,tp,LOCATION_DECK,0,nil,tp,check) local g=Duel.GetMatchingGroup(c71401002.filter2,tp,LOCATION_DECK,0,nil,tp,check)
if g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(71401002,1)) then if g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(71401002,1)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD)
local tc=g:Select(tp,1,1,nil) local tc=g:Select(tp,1,1,nil):GetFirst()
local b1=tc:IsAbleToHand() local b1=tc:IsAbleToHand()
local b2=check and not tc:IsForbidden() and tc:CheckUniqueOnField(tp) local b2=check and not tc:IsForbidden() and tc:CheckUniqueOnField(tp)
if b1 and (not b2 or Duel.SelectOption(tp,1190,aux.Stringid(71401001,5))==0) then if b1 and (not b2 or Duel.SelectOption(tp,1190,aux.Stringid(71401001,5))==0) then
......
--L-J幻象! --L-J幻象!
---@param c Card ---@param c Card
if not c71403001 then dofile("expansions/script/c71403001.lua") end
function c71403023.initial_effect(c) function c71403023.initial_effect(c)
--destroy --destroy
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
...@@ -55,13 +55,21 @@ end ...@@ -55,13 +55,21 @@ end
function c98920400.rmfilter(c,tp) function c98920400.rmfilter(c,tp)
return c:IsSummonLocation(LOCATION_EXTRA) return c:IsSummonLocation(LOCATION_EXTRA)
end end
function c98920400.spcheck(g)
return g:GetSum(Card.GetLevel)+g:GetSum(Card.GetRank)>=10
end
function c98920400.xxa(c,e)
return c==e:GetHandler()
end
function c98920400.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c98920400.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local tp=e:GetHandlerPlayer()
if chk==0 then if chk==0 then
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
local mg1=Duel.GetRitualMaterial(tp) local mg1=Duel.GetRitualMaterial(tp)
mg1:Remove(Card.IsLocation,nil,LOCATION_HAND) mg1:Remove(c98920400.xxa,nil,e)
local mg2=Duel.GetMatchingGroup(c98920400.rmfilter,tp,0,LOCATION_MZONE,nil,e) local mg2=Duel.GetMatchingGroup(c98920400.rmfilter,tp,0,LOCATION_MZONE,nil,e)
mg1:Merge(mg2) mg1:Merge(mg2)
return Duel.IsExistingMatchingCard(c98920400.filter,tp,LOCATION_HAND,0,1,nil,e,tp,mg1) return mg1:CheckSubGroup(c98920400.spcheck)
end end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end end
...@@ -72,7 +80,7 @@ function c98920400.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -72,7 +80,7 @@ function c98920400.spop(e,tp,eg,ep,ev,re,r,rp)
mg:Merge(mg2) mg:Merge(mg2)
local ft=Duel.GetMZoneCount(tp) local ft=Duel.GetMZoneCount(tp)
if tc then if tc then
mg=mg:Filter(Card.IsAbleToGrave,tc,tc) mg=mg:Filter(Card.IsReleasableByEffect,tc,tc)
local mat=nil local mat=nil
if ft>0 then if ft>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
......
--邪心英雄 硫磺翼魔 --邪心英雄 硫磺翼魔
function c98920797.initial_effect(c) function c98920797.initial_effect(c)
aux.AddCodeList(c,94820406)
--fusion material --fusion material
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddFusionProcFunRep(c,c98920797.ffilter,2,true) aux.AddFusionProcFunRep(c,c98920797.ffilter,2,true)
......
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