Commit 5ad9c2f1 authored by Huangnan's avatar Huangnan

fix

parent b1d8595c
Pipeline #38630 failed with stages
in 40 minutes and 36 seconds
No preview for this file type
...@@ -79,7 +79,6 @@ function s.tgtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -79,7 +79,6 @@ function s.tgtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingTarget(Card.IsAbleToGrave,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end if chk==0 then return Duel.IsExistingTarget(Card.IsAbleToGrave,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectTarget(tp,Card.IsAbleToGrave,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil) local g=Duel.SelectTarget(tp,Card.IsAbleToGrave,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
Duel.HintSelection(g)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,g,1,0,0)
end end
function s.tgop(e,tp,eg,ep,ev,re,r,rp) function s.tgop(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -15,7 +15,8 @@ function s.initial_effect(c) ...@@ -15,7 +15,8 @@ function s.initial_effect(c)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id,1)) e2:SetDescription(aux.Stringid(id,1))
e2:SetCategory(CATEGORY_TOHAND) e2:SetCategory(CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_GRAVE) e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,id+o) e2:SetCountLimit(1,id+o)
e2:SetCondition(aux.exccon) e2:SetCondition(aux.exccon)
......
...@@ -89,7 +89,7 @@ function s.tgtg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -89,7 +89,7 @@ function s.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
local rc=re:GetHandler() local rc=re:GetHandler()
if not rc:IsRelateToEffect(re) then return end if not rc:IsRelateToEffect(re) then return end
local proc=rc:IsCode(12866705) and c:IsCode(12866600) local proc=rc:IsCode(12866705,12866890) and c:IsCode(12866600)
local b1=rc:IsAbleToGrave() and not rc:IsLocation(LOCATION_GRAVE+LOCATION_REMOVED) local b1=rc:IsAbleToGrave() and not rc:IsLocation(LOCATION_GRAVE+LOCATION_REMOVED)
local b2=(Duel.GetLocationCount(tp,LOCATION_MZONE)>0 local b2=(Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and (rc:IsCanBeSpecialSummoned(e,0,tp,false,false)) or rc:IsCanBeSpecialSummoned(e,0,tp,proc,proc)) and (rc:IsCanBeSpecialSummoned(e,0,tp,false,false)) or rc:IsCanBeSpecialSummoned(e,0,tp,proc,proc))
...@@ -119,7 +119,7 @@ function s.tgop(e,tp,eg,ep,ev,re,r,rp) ...@@ -119,7 +119,7 @@ function s.tgop(e,tp,eg,ep,ev,re,r,rp)
local rc=re:GetHandler() local rc=re:GetHandler()
if rc:IsRelateToEffect(re) then if rc:IsRelateToEffect(re) then
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
local proc=tc:IsCode(12866705) and c:IsCode(12866600) local proc=tc:IsCode(12866705,12866890) and c:IsCode(12866600)
local b1=tc:IsAbleToGrave() and not tc:IsLocation(LOCATION_GRAVE+LOCATION_REMOVED) local b1=tc:IsAbleToGrave() and not tc:IsLocation(LOCATION_GRAVE+LOCATION_REMOVED)
local b2=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and (tc:IsCanBeSpecialSummoned(e,0,tp,false,false) or tc:IsCanBeSpecialSummoned(e,0,tp,proc,proc)) and aux.NecroValleyFilter()(tc) local b2=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and (tc:IsCanBeSpecialSummoned(e,0,tp,false,false) or tc:IsCanBeSpecialSummoned(e,0,tp,proc,proc)) and aux.NecroValleyFilter()(tc)
local off=1 local off=1
......
--蓬莱的辉夜姬 --蓬莱的辉夜姬
local s,id,o=GetID() local s,id,o=GetID()
function s.initial_effect(c) function s.initial_effect(c)
c:SetSPSummonOnce(id) c:SetSPSummonOnce(13700777)
c:EnableReviveLimit() c:EnableReviveLimit()
if not global_check then if not global_check then
...@@ -12,6 +12,13 @@ function s.initial_effect(c) ...@@ -12,6 +12,13 @@ function s.initial_effect(c)
ge:SetCondition(s.gecon) ge:SetCondition(s.gecon)
ge:SetOperation(s.geop) ge:SetOperation(s.geop)
Duel.RegisterEffect(ge,0) Duel.RegisterEffect(ge,0)
local ge1=Effect.GlobalEffect()
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_PHASE+PHASE_DRAW)
ge1:SetCondition(s.resetcon)
ge1:SetOperation(s.resetop)
Duel.RegisterEffect(ge1,0)
end end
--五难题 --五难题
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -34,7 +41,7 @@ function s.initial_effect(c) ...@@ -34,7 +41,7 @@ function s.initial_effect(c)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e3:SetCode(EVENT_SPSUMMON_SUCCESS) e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetCountLimit(1,id+EFFECT_COUNT_CODE_OATH) e3:SetCountLimit(1,13700777+EFFECT_COUNT_CODE_OATH)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP) e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e3:SetTarget(s.sutg) e3:SetTarget(s.sutg)
e3:SetOperation(s.suop) e3:SetOperation(s.suop)
...@@ -66,7 +73,7 @@ end ...@@ -66,7 +73,7 @@ end
function s.damval(e,re,val,r,rp,rc) function s.damval(e,re,val,r,rp,rc)
local tp=e:GetHandlerPlayer() local tp=e:GetHandlerPlayer()
local c=e:GetHandler() local c=e:GetHandler()
if val>=Duel.GetLP(tp) and Duel.GetFlagEffect(tp,id+1)>0 and c:IsAbleToRemove(tp,POS_FACEDOWN,REASON_EFFECT) then if val>=Duel.GetLP(tp) and Duel.GetFlagEffect(tp,13700777+1)>0 and c:IsAbleToRemove(tp,POS_FACEDOWN,REASON_EFFECT) then
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_ADJUST) e1:SetCode(EVENT_ADJUST)
...@@ -78,40 +85,54 @@ function s.damval(e,re,val,r,rp,rc) ...@@ -78,40 +85,54 @@ function s.damval(e,re,val,r,rp,rc)
end end
function s.cleanop(e,tp,eg,ep,ev,re,r,rp) function s.cleanop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetOwner() local c=e:GetOwner()
if Duel.SelectYesNo(tp,aux.Stringid(id,2)) then if Duel.SelectYesNo(tp,aux.Stringid(id,2)) then
Duel.Hint(HINT_CARD,nil,id+2) Duel.Hint(HINT_CARD,nil,13700777+2)
Duel.Remove(c,POS_FACEDOWN,REASON_EFFECT) Duel.Remove(c,POS_FACEDOWN,REASON_EFFECT)
Duel.Hint(24,0,aux.Stringid(id,5)) Duel.Hint(24,0,aux.Stringid(id,5))
Duel.Hint(24,0,aux.Stringid(id,6)) Duel.Hint(24,0,aux.Stringid(id,6))
e:Reset() e:Reset()
else else
Duel.Hint(HINT_CARD,nil,id+2) Duel.Hint(HINT_CARD,nil,13700777+2)
Duel.Remove(c,POS_FACEDOWN,REASON_EFFECT) Duel.Remove(c,POS_FACEDOWN,REASON_EFFECT)
Duel.Hint(24,0,aux.Stringid(id,7)) Duel.Hint(24,0,aux.Stringid(id,7))
e:Reset() e:Reset()
end end
if c:GetFlagEffect(id)==0 then
c:SetCardData(CARDDATA_CODE,13700777+2)
c:RegisterFlagEffect(id,0,0,0)
end
end end
function s.wordop(e,tp,eg,ep,ev,re,r,rp) function s.wordop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(24,0,aux.Stringid(id,4)) Duel.Hint(24,0,aux.Stringid(e:GetHandler():GetCode(),4))
end end
function s.wordop2(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(24,0,aux.Stringid(id,5))
Duel.Hint(24,0,aux.Stringid(id,6))
end
function s.gecon(e,tp,eg,ep,ev,re,r,rp) function s.gecon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(Card.IsCode,1,nil,id) return eg:IsExists(Card.IsOriginalCodeRule,1,nil,13700777)
end end
function s.geop(e,tp,eg,ep,ev,re,r,rp) function s.geop(e,tp,eg,ep,ev,re,r,rp)
local g=eg:Filter(Card.IsCode,nil,id) local g=eg:Filter(Card.IsOriginalCodeRule,nil,13700777)
local tc=g:GetFirst() local tc=g:GetFirst()
Duel.RegisterFlagEffect(tc:GetControler(),id+1,0,0,1) Duel.RegisterFlagEffect(tc:GetControler(),13700777+1,0,0,1)
end
function s.resetcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnCount(tp)==1
end
function s.resetop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsOriginalCodeRule,tp,0x7f,0x7f,nil,13700777)
if #g>0 then
local tc=g:GetFirst()
while tc do
tc:SetCardData(CARDDATA_CODE,13700777)
tc=g:GetNext()
end
end
e:Reset()
Duel.Hint(24,0,aux.Stringid(id,8))
end end
function s.quecost(e,tp,eg,ep,ev,re,r,rp,chk) function s.quecost(e,tp,eg,ep,ev,re,r,rp,chk)
...@@ -120,13 +141,13 @@ function s.quecost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -120,13 +141,13 @@ function s.quecost(e,tp,eg,ep,ev,re,r,rp,chk)
local att=g:GetFirst():GetAttribute() local att=g:GetFirst():GetAttribute()
Duel.Release(g,REASON_COST) Duel.Release(g,REASON_COST)
Duel.PayLPCost(tp,1000) Duel.PayLPCost(tp,1000)
Duel.RegisterFlagEffect(tp,id+att+o,0,0,1) Duel.RegisterFlagEffect(tp,13700777+att+o,0,0,1)
Duel.RegisterFlagEffect(tp,id,0,0,1) Duel.RegisterFlagEffect(tp,13700777,0,0,1)
end end
function s.attfilter(c) function s.attfilter(c)
local att=c:GetAttribute() local att=c:GetAttribute()
return Duel.GetFlagEffect(c:GetControler(),id+att+o)==0 return Duel.GetFlagEffect(c:GetControler(),13700777+att+o)==0 and c:IsFaceup()
end end
function s.queop(e,tp,eg,ep,ev,re,r,rp) function s.queop(e,tp,eg,ep,ev,re,r,rp)
...@@ -136,14 +157,14 @@ end ...@@ -136,14 +157,14 @@ end
function s.spcon(e) function s.spcon(e)
local tp=e:GetHandler():GetOwner() local tp=e:GetHandler():GetOwner()
return Duel.GetFlagEffect(tp,id)>=5 return Duel.GetFlagEffect(tp,13700777)>=0
end end
function s.sutg(e,tp,eg,ep,ev,re,r,rp,chk) function s.sutg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,id+1)>0 end if chk==0 then return Duel.GetFlagEffect(tp,13700777+1)>0 end
local ct=Duel.GetFlagEffect(tp,id+1) local ct=Duel.GetFlagEffect(tp,13700777+1)
local c=e:GetHandler() local c=e:GetHandler()
Duel.Hint(24,0,aux.Stringid(c:GetOriginalCodeRule(),3)) Duel.Hint(24,0,aux.Stringid(id,3))
for i=1,ct do for i=1,ct do
if i==1 then if i==1 then
local g=Duel.GetMatchingGroup(Card.IsAbleToGrave,tp,0,LOCATION_ONFIELD,nil) local g=Duel.GetMatchingGroup(Card.IsAbleToGrave,tp,0,LOCATION_ONFIELD,nil)
...@@ -169,8 +190,17 @@ function s.spfilter(c,e,tp) ...@@ -169,8 +190,17 @@ function s.spfilter(c,e,tp)
end end
function s.suop(e,tp,eg,ep,ev,re,r,rp) function s.suop(e,tp,eg,ep,ev,re,r,rp)
local ct=Duel.GetFlagEffect(tp,id+1) local ct=Duel.GetFlagEffect(tp,13700777+1)
local c=e:GetHandler() local c=e:GetHandler()
local tg=Duel.GetMatchingGroup(Card.IsCode,tp,0x7f,0,nil,13700777)
if #tg>0 and Duel.GetFlagEffect(tp,13700777+776)==0 then
local tc=tg:GetFirst()
while tc do
tc:SetCardData(CARDDATA_CODE,13700777+1)
tc=tg:GetNext()
end
Duel.RegisterFlagEffect(tp,13700777+776,0,0,0)
end
for i=1,ct do for i=1,ct do
if i==1 then if i==1 then
local g=Duel.GetMatchingGroup(Card.IsAbleToGrave,tp,0,LOCATION_ONFIELD,nil) local g=Duel.GetMatchingGroup(Card.IsAbleToGrave,tp,0,LOCATION_ONFIELD,nil)
...@@ -191,7 +221,7 @@ function s.suop(e,tp,eg,ep,ev,re,r,rp) ...@@ -191,7 +221,7 @@ function s.suop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_INDESTRUCTABLE_EFFECT) e1:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e1:SetTargetRange(LOCATION_ONFIELD,0) e1:SetTargetRange(LOCATION_SZONE+LOCATION_MZONE,0)
e1:SetValue(1) e1:SetValue(1)
e1:SetReset(RESET_PHASE+PHASE_END,2) e1:SetReset(RESET_PHASE+PHASE_END,2)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
...@@ -208,7 +238,7 @@ function s.suop(e,tp,eg,ep,ev,re,r,rp) ...@@ -208,7 +238,7 @@ function s.suop(e,tp,eg,ep,ev,re,r,rp)
end end
function s.forop(e,tp,eg,ep,ev,re,r,rp) function s.forop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,nil,id+1) Duel.Hint(HINT_CARD,nil,13700777+1)
Duel.Destroy(Duel.GetFieldGroup(tp,LOCATION_ONFIELD,LOCATION_ONFIELD),REASON_EFFECT) Duel.Destroy(Duel.GetFieldGroup(tp,LOCATION_ONFIELD,LOCATION_ONFIELD),REASON_EFFECT)
Duel.Damage(1-tp,2000,REASON_EFFECT) Duel.Damage(1-tp,2000,REASON_EFFECT)
end end
\ No newline at end of file
function c16101260.initial_effect(c) function c16101260.initial_effect(c)
c:SetSPSummonOnce(16101260) c:SetSPSummonOnce(16101260)
--pendulum summon
aux.EnablePendulumAttribute(c)
--spsummon --spsummon
local e0=Effect.CreateEffect(c) local e0=Effect.CreateEffect(c)
e0:SetCategory(CATEGORY_SPECIAL_SUMMON) e0:SetCategory(CATEGORY_SPECIAL_SUMMON)
e0:SetType(EFFECT_TYPE_IGNITION) e0:SetType(EFFECT_TYPE_IGNITION)
e0:SetRange(LOCATION_PZONE) e0:SetRange(LOCATION_PZONE)
e0:SetCountLimit(1,16101260) e0:SetProperty(EFFECT_FLAG_CARD_TARGET)
e0:SetCountLimit(1,16101260)
e0:SetTarget(c16101260.target) e0:SetTarget(c16101260.target)
e0:SetOperation(c16101260.activate) e0:SetOperation(c16101260.activate)
c:RegisterEffect(e0) c:RegisterEffect(e0)
--special summon --special summon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC) e1:SetCode(EFFECT_SPSUMMON_PROC)
...@@ -18,7 +21,7 @@ function c16101260.initial_effect(c) ...@@ -18,7 +21,7 @@ function c16101260.initial_effect(c)
e1:SetRange(LOCATION_HAND) e1:SetRange(LOCATION_HAND)
e1:SetCondition(c16101260.spcon) e1:SetCondition(c16101260.spcon)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--search --search
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(16101260,0)) e2:SetDescription(aux.Stringid(16101260,0))
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
...@@ -33,28 +36,29 @@ function c16101260.initial_effect(c) ...@@ -33,28 +36,29 @@ function c16101260.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
end end
function c16101260.spfilter(c,e,tp,fc) function c16101260.spfilter(c,e,tp,fc)
return aux.IsMaterialListCode(fc,c:GetCode()) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return aux.IsMaterialListCode(fc,c:GetCode()) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
end end
function c16101260.ffilter(c,e,tp) function c16101260.ffilter(c,e,tp)
if not c:IsType(TYPE_FUSION) then return false end if not c:IsType(TYPE_FUSION) then return false end
local tg=Duel.GetMatchingGroup(c16101260.spfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,nil,e,tp,c) local tg=Duel.GetMatchingGroup(c16101260.spfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,nil,e,tp,c)
return tg:GetCount()>0 return tg:GetCount()>0
end end
function c16101260.target(e,tp,eg,ep,ev,re,r,rp,chk) function c16101260.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_MZONE) and c16101260.ffilter(chkc,e,tp) end
if chk==0 then if chk==0 then
return Duel.IsExistingTarget(c16101260.ffilter,tp,LOCATION_MZONE,0,1,nil,e,tp) return Duel.IsExistingTarget(c16101260.ffilter,tp,LOCATION_MZONE,0,1,nil,e,tp)
end end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local fc=Duel.SelectTarget(tp,c16101260.ffilter,tp,LOCATION_MZONE,0,1,1,nil,e,tp):GetFirst() local fc=Duel.SelectTarget(tp,c16101260.ffilter,tp,LOCATION_MZONE,0,1,1,nil,e,tp):GetFirst()
e:SetLabelObject(fc) e:SetLabelObject(fc)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK+LOCATION_GRAVE)
end end
function c16101260.activate(e,tp,eg,ep,ev,re,r,rp) function c16101260.activate(e,tp,eg,ep,ev,re,r,rp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if ft<1 then return end if ft<1 then return end
local fc=e:GetLabelObject() local fc=Duel.GetFirstTarget()
if not fc:IsRelateToEffect(e) then return end
local mg=Duel.GetMatchingGroup(aux.NecroValleyFilter(c16101260.spfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,nil,e,tp,fc) local mg=Duel.GetMatchingGroup(aux.NecroValleyFilter(c16101260.spfilter),tp,LOCATION_DECK+LOCATION_GRAVE,0,nil,e,tp,fc)
if mg:GetClassCount(Card.GetCode)<ft then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=mg:Select(tp,1,1,nil) local g=mg:Select(tp,1,1,nil)
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
...@@ -80,14 +84,14 @@ function c16101260.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -80,14 +84,14 @@ function c16101260.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(g,nil,REASON_EFFECT) Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
end end
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_ACTIVATE) e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetTargetRange(1,0) e1:SetTargetRange(1,0)
e1:SetValue(c16101260.aclimit) e1:SetValue(c16101260.aclimit)
e1:SetReset(RESET_PHASE+PHASE_END) e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
function c16101260.aclimit(e,re,tp) function c16101260.aclimit(e,re,tp)
return re:IsActiveType(TYPE_SPELL) and re:IsHasType(EFFECT_TYPE_ACTIVATE) return re:IsActiveType(TYPE_SPELL) and re:IsHasType(EFFECT_TYPE_ACTIVATE)
......
...@@ -92,22 +92,8 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp) ...@@ -92,22 +92,8 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
local op=Duel.SelectOption(tp,aux.Stringid(m,2),aux.Stringid(m,3)) local op=Duel.SelectOption(tp,aux.Stringid(m,2),aux.Stringid(m,3))
if op==0 then if op==0 then
Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true) Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
local e1=Effect.CreateEffect(c)
e1:SetCode(EFFECT_CHANGE_TYPE)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET)
e1:SetValue(TYPE_TRAP+TYPE_CONTINUOUS)
tc:RegisterEffect(e1)
else else
Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true) Duel.MoveToField(tc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
local e2=Effect.CreateEffect(c)
e2:SetCode(EFFECT_CHANGE_TYPE)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET)
e2:SetValue(TYPE_SPELL+TYPE_CONTINUOUS)
tc:RegisterEffect(e2)
end end
end end
end end
\ No newline at end of file
...@@ -40,6 +40,7 @@ function c16364057.initial_effect(c) ...@@ -40,6 +40,7 @@ function c16364057.initial_effect(c)
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_XMATERIAL) e4:SetType(EFFECT_TYPE_XMATERIAL)
e4:SetCode(EFFECT_IMMUNE_EFFECT) e4:SetCode(EFFECT_IMMUNE_EFFECT)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetRange(LOCATION_MZONE) e4:SetRange(LOCATION_MZONE)
e4:SetCondition(c16364057.imcon) e4:SetCondition(c16364057.imcon)
e4:SetValue(c16364057.imvalue) e4:SetValue(c16364057.imvalue)
......
...@@ -39,7 +39,7 @@ function cm.initial_effect(c) ...@@ -39,7 +39,7 @@ function cm.initial_effect(c)
e5:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET) e5:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e5:SetRange(LOCATION_MZONE) e5:SetRange(LOCATION_MZONE)
e5:SetTargetRange(LOCATION_MZONE,0) e5:SetTargetRange(LOCATION_MZONE,0)
e5:SetValue(1) e5:SetValue(aux.tgoval)
e5:SetCondition(cm.effcon) e5:SetCondition(cm.effcon)
e5:SetLabel(3) e5:SetLabel(3)
c:RegisterEffect(e5) c:RegisterEffect(e5)
......
...@@ -85,7 +85,7 @@ function cm.repfilter(c,tp) ...@@ -85,7 +85,7 @@ function cm.repfilter(c,tp)
end end
function cm.reptg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.reptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
if chk==0 then return (Duel.IsExistingMatchingCard(tp,Card.IsReleasable,tp,LOCATION_MZONE,0,1,1,nil) or Duel.GetLP(tp)>=Duel.GetLP(1-tp)) if chk==0 then return (Duel.IsExistingMatchingCard(Card.IsReleasable,tp,LOCATION_MZONE,0,1,nil) or Duel.GetLP(tp)>=Duel.GetLP(1-tp))
and eg:IsExists(cm.repfilter,1,nil,tp) end and eg:IsExists(cm.repfilter,1,nil,tp) end
return Duel.SelectEffectYesNo(tp,e:GetHandler(),96) return Duel.SelectEffectYesNo(tp,e:GetHandler(),96)
end end
......
...@@ -26,8 +26,7 @@ function cm.initial_effect(c) ...@@ -26,8 +26,7 @@ function cm.initial_effect(c)
e2:SetTarget(cm.eff2tg) e2:SetTarget(cm.eff2tg)
e2:SetOperation(cm.eff2op) e2:SetOperation(cm.eff2op)
c:RegisterEffect(e2) c:RegisterEffect(e2)
-- ③效果:替代破坏
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EFFECT_DESTROY_REPLACE) e3:SetCode(EFFECT_DESTROY_REPLACE)
...@@ -43,7 +42,7 @@ function cm.ntcon(e,c,minc) ...@@ -43,7 +42,7 @@ function cm.ntcon(e,c,minc)
return minc==0 and c:IsRace(RACE_MACHINE) return minc==0 and c:IsRace(RACE_MACHINE)
end end
function cm.nttg(e,c) function cm.nttg(e,c)
return c:IsRace(RACE_MACHINE) return c:IsRace(RACE_MACHINE) and c:IsLevelAbove(5)
end end
function cm.filter(c,e,tp) function cm.filter(c,e,tp)
......
...@@ -20,6 +20,8 @@ function cm.initial_effect(c) ...@@ -20,6 +20,8 @@ function cm.initial_effect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_XMATERIAL) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_XMATERIAL)
e3:SetCode(EFFECT_INDESTRUCTABLE_BATTLE) e3:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e3:SetValue(1) e3:SetValue(1)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e3:SetRange(LOCATION_MZONE)
e3:SetCondition(cm.con) e3:SetCondition(cm.con)
c:RegisterEffect(e3) c:RegisterEffect(e3)
......
--[[
本lua的作者为藜奴儿,如果测试出bug请联系QQ:1502939196
未经允许不支持任何人的任何形式的修改,源数。如有需要请联系作者,而不是私自找人代为修改。
本人对于本lua的任何bug修改、源数和适配后来卡片均为免费,并且追诉期无限。
但是如果使用者私自修改了lua,不论是bug修复还是源数效果,本人对此lua都不会再提供任何形式的支持。
一旦发现任何其他人对本lua进行了任何形式的修改,本人首先自愿放弃此lua除必要署名权以外的所有权利,
同时再也会不承担对此lua的任何维护与后续适配,包括但不限于任何形式的bug修复、效果源数。
如果您想要修改此lua,可以先联系本人,本人会在第一时间进行回复。
并且我承诺,若本人在2天内没有回复您,上述注意事项可作废,您可以直接修改此lua,而后续debug与适配仍然由我来进行。
如果您对本lua有任何疑问,请联系本人,本人会在第一时间进行回复。
如果您对本lua有任何建议,请联系本人,本人会在第一时间进行处理。
]]
--安娜·金斯福德 --安娜·金斯福德
local cm,m,o=GetID()
local s,id,o=GetID() local s,id,o=GetID()
s.MoJin=true function s.initial_effect(c)
function cm.initial_effect(c) s.MoJin=true
--aux.AddSynchroProcedure(c,s.sfliter,aux.NonTuner(nil),1) --同调手续
aux.AddSynchroProcedure(c,cm.fil1,cm.fil2,2)
c:EnableReviveLimit() c:EnableReviveLimit()
--set aux.AddSynchroProcedure(c,s.tfilter,aux.NonTuner(Card.IsType,TYPE_MONSTER),2)
local e3=Effect.CreateEffect(c) --①:控制效果
e3:SetDescription(aux.Stringid(28711704,0)) local e1=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_POSITION) e1:SetDescription(aux.Stringid(id,0))
e3:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetType(EFFECT_TYPE_QUICK_O)
e3:SetType(EFFECT_TYPE_QUICK_O) e1:SetCode(EVENT_FREE_CHAIN)
e3:SetCode(EVENT_FREE_CHAIN) e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER)
e3:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
--e3:SetCountLimit(1) e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetCost(cm.rmcost) e1:SetCondition(s.lockcon)
e3:SetTarget(cm.rmtg) e1:SetTarget(s.locktg)
e3:SetOperation(cm.rmop) e1:SetOperation(s.lockop)
c:RegisterEffect(e3) c:RegisterEffect(e1)
--immune --②:不受场上其他卡的效果影响
local e3=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_IMMUNE_EFFECT) e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e2:SetRange(LOCATION_MZONE)
e3:SetRange(LOCATION_MZONE) e2:SetCode(EFFECT_IMMUNE_EFFECT)
e3:SetValue(cm.efilter) e2:SetValue(s.efilter)
c:RegisterEffect(e3) c:RegisterEffect(e2)
end end
function s.sfliter(c) function s.tfilter(c)
return c.MoJin==true return c.MoJin and c:IsType(TYPE_TUNER)
end end
function cm.fil1(c) function s.lockcon(e,tp,eg,ep,ev,re,r,rp)
return c:IsFaceup() and c:IsType(TYPE_TUNER) and c.Mojin==true local c=e:GetHandler()
return c:IsFaceup() and c:GetFlagEffect(id)==0 and
Duel.IsExistingMatchingCard(s.tipsfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil)
end end
function cm.fil2(c) function s.locktg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
return c:IsFaceup() --and not c:IsType(TYPE_TUNER) local c=e:GetHandler()
if chkc then return chkc:IsOnField() and chkc~=e:GetHandler() end
if chk==0 then return Duel.IsExistingTarget(aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,e:GetHandler())
and Duel.IsExistingMatchingCard(s.tipsfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil)
end
--标记已经发动过
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local tc=Duel.SelectTarget(tp,aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,e:GetHandler()):GetFirst()
tc:RegisterFlagEffect(id+1,RESET_EVENT+RESETS_STANDARD+RESET_CHAIN,0,1,0,aux.Stringid(id,1))
end end
function cm.rmfil(c) function s.tipsfilter(c)
return c:IsFaceup() and c:IsStatus(STATUS_EFFECT_ENABLED) return not c:GetFlagEffect(id+1)>0
end end
function cm.rmcost(e,tp,eg,ep,ev,re,r,rp,chk) function s.lockop(e,tp,eg,ep,ev,re,r,rp)
if chk==0 then return Duel.GetFlagEffect(tp,m+10000000)<Duel.GetFlagEffect(tp,m)+1 end local c=e:GetHandler()
Duel.RegisterFlagEffect(tp,m+10000000,RESET_PHASE+PHASE_END,0,1) local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and c:IsRelateToEffect(e) and c:IsFaceup() then
--不能攻击
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_ATTACK)
e1:SetProperty(EFFECT_FLAG_CLIENT_HINT)
e1:SetDescription(aux.Stringid(id,0))
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
--不能改变表示形式
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CANNOT_CHANGE_POSITION)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e2)
--不能召唤
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetCode(EFFECT_CANNOT_SUMMON)
e3:SetTargetRange(1,1)
e3:SetTarget(s.sumlimit)
e3:SetLabelObject(tc)
e3:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e3)
local e4=e3:Clone()
e4:SetCode(EFFECT_CANNOT_FLIP_SUMMON)
tc:RegisterEffect(e4)
local e5=e3:Clone()
e5:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
tc:RegisterEffect(e5)
--不能发动
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_SINGLE)
e6:SetCode(EFFECT_CANNOT_TRIGGER)
e6:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e6)
local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_FIELD)
e7:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e7:SetCode(EFFECT_CANNOT_ACTIVATE)
e7:SetTargetRange(1,1)
e7:SetValue(s.actlimit)
e7:SetLabelObject(tc)
e7:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e7)
--不能作为素材
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_SINGLE)
e8:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
e8:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e8)
local e9=Effect.CreateEffect(c)
e9:SetType(EFFECT_TYPE_SINGLE)
e9:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
e9:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e9)
local e10=Effect.CreateEffect(c)
e10:SetType(EFFECT_TYPE_SINGLE)
e10:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
e10:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e10)
local e11=Effect.CreateEffect(c)
e11:SetType(EFFECT_TYPE_SINGLE)
e11:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
e11:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e11)
--不能适用:效果无效
local e11_5=Effect.CreateEffect(c)
e11_5:SetType(EFFECT_TYPE_SINGLE)
e11_5:SetCode(EFFECT_DISABLE)
e11_5:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e11_5)
local e11_6=Effect.CreateEffect(c)
e11_6:SetType(EFFECT_TYPE_SINGLE)
e11_6:SetCode(EFFECT_DISABLE_EFFECT)
e11_6:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e11_6)
c:RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD,0,1)
--目标卡离场时重置计数器
local e12=Effect.CreateEffect(c)
e12:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e12:SetCode(EVENT_LEAVE_FIELD)
e12:SetRange(LOCATION_MZONE)
e12:SetCondition(s.resetcon)
e12:SetOperation(s.resetop)
e12:SetLabelObject(tc)
e12:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e12)
end
end end
function cm.rmtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function s.sumlimit(e,c)
if chkc then return chkc:IsOnField() end return c==e:GetLabelObject()
if chk==0 then return Duel.IsExistingTarget(cm.rmfil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD)
local g=Duel.SelectTarget(tp,cm.rmfil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_POSITION,g,1,0,0)
end end
function cm.rmop(e,tp,eg,ep,ev,re,r,rp) function s.actlimit(e,re,tp)
local tc=Duel.GetFirstTarget() return re:GetHandler()==e:GetLabelObject()
if tc:IsRelateToEffect(e) then end
if tc:IsLocation(LOCATION_PZONE) then function s.resetcon(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoDeck(tc,nil,2,REASON_RULE) local tc=e:GetLabelObject()
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1) return eg:IsContains(tc)
elseif tc:IsLocation(LOCATION_SZONE) then end
if Duel.ChangePosition(tc,POS_FACEDOWN)==0 then function s.resetop(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoDeck(tc,nil,2,REASON_RULE) local c=e:GetHandler()
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1) if c:GetFlagEffect(id)>0 then
end c:ResetFlagEffect(id)
else
if Duel.ChangePosition(tc,POS_FACEDOWN_DEFENSE)==0 then
Duel.SendtoDeck(tc,nil,2,REASON_RULE)
Duel.RegisterFlagEffect(tp,m,RESET_PHASE+PHASE_END,0,1)
end
end
end end
e:Reset()
end end
function cm.efilter(e,re) function s.efilter(e,te)
return re:GetHandler():IsLocation(LOCATION_ONFIELD) return te:GetOwner()~=e:GetOwner() and te:GetHandler():IsOnField()
end end
...@@ -1800,7 +1800,7 @@ ...@@ -1800,7 +1800,7 @@
!setname 0x6ef1 侍神·无间 !setname 0x6ef1 侍神·无间
!setname 0x9ef1 侍神·幽泉 !setname 0x9ef1 侍神·幽泉
#龙嫂? 951 0xbb0-0xbbf #帽子米 2504387843 951 0xbb0-0xbbf
!setname 0xbbc 馄饨剩汤 !setname 0xbbc 馄饨剩汤
#奇跡の早苗 2060043514 961 0x7e0-0x7ef #奇跡の早苗 2060043514 961 0x7e0-0x7ef
......
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