Commit 9b728461 authored by Satty's avatar Satty

fix

parent c2f908f3
Pipeline #36490 passed with stages
in 69 minutes and 2 seconds
......@@ -35,6 +35,7 @@ function cm.initial_effect(c)
e3:SetRange(LOCATION_PZONE)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetCountLimit(1,m+100+EFFECT_COUNT_CODE_OATH)
e3:SetCost(cm.spcost)
e3:SetTarget(cm.sptg)
e3:SetOperation(cm.spop)
c:RegisterEffect(e3)
......@@ -99,6 +100,10 @@ function cm.regop(e,tp,eg,ep,ev,re,r,rp)
e:Reset()
end
end
function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLPCost(tp,1000) end
Duel.PayLPCost(tp,1000)
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,tp,LOCATION_PZONE)
......
......@@ -30,6 +30,7 @@ function cm.initial_effect(c)
e2:SetRange(LOCATION_PZONE)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH)
e2:SetCost(cm.spcost)
e2:SetTarget(cm.sptg)
e2:SetOperation(cm.spop)
c:RegisterEffect(e2)
......@@ -71,6 +72,10 @@ function cm.operation(e,tp)
local sg=Duel.SelectMatchingCard(tp,Card.IsReleasable,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
Duel.Release(sg,REASON_EFFECT)
end
function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLPCost(tp,1000) end
Duel.PayLPCost(tp,1000)
end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,true) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,tp,LOCATION_PZONE)
......
......@@ -6,7 +6,7 @@ function s.initial_effect(c)
e1:SetDescription(aux.Stringid(id,1))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetCountLimit(1,id)
e1:SetTarget(s.sptg)
......
--戏世游寰·奇物卡带-人格解体
local m=18700109
local cm=_G["c"..m]
Duel.LoadScript("1.lua")
local cm,m,o=GetID()
function cm.initial_effect(c)
aux.AddLinkProcedure(c,nil,2,99,cm.lcheck)
c:EnableReviveLimit()
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e1:SetCode(EVENT_FREE_CHAIN)
......@@ -19,7 +16,7 @@ function cm.initial_effect(c)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1))
e2:SetCategory(CATEGORY_DRAW+CATEGORY_RECOVER)
e2:SetCategory(CATEGORY_DRAW)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e2:SetCode(EVENT_FREE_CHAIN)
......
--戏世游寰·雨都朋客-空
local m=18700188
local cm=_G["c"..m]
Duel.LoadScript("1.lua")
local cm,m,o=GetID()
function cm.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
......
......@@ -12,10 +12,12 @@ function s.initial_effect(c)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCategory(CATEGORY_POSITION+CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCountLimit(1,id)
e1:SetCondition(s.spcon)
e1:SetCost(s.spcost)
e1:SetTarget(s.sptg)
e1:SetOperation(s.spop)
c:RegisterEffect(e1)
......@@ -90,5 +92,5 @@ function s.imcon(e)
return c:IsDefensePos() and c:GetTurnID()==Duel.GetTurnCount()
end
function s.efilter(e,te)
return te:GetOwnerPlayer()~=e:GetOwnerPlayer() and re:IsActivated()
return te:GetOwnerPlayer()~=e:GetOwnerPlayer() and te:IsActivated()
end
\ No newline at end of file
......@@ -52,7 +52,7 @@ function s.operationct(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
Duel.SpecialSummon(c,0,tp,tp,true,true,POS_FACEUP)
c:SetEntityCode(id+1)
c:SetEntityCode(id+1,true)
c:ReplaceEffect(id+1,0,0)
Duel.Hint(10,1,id+1)
local e1=Effect.CreateEffect(c)
......
......@@ -3,8 +3,8 @@ local cm,m,o=GetID()
local s,id,o=GetID()
s.MoJin=true
function cm.initial_effect(c)
aux.AddSynchroProcedure(c,s.sfliter,aux.NonTuner(nil),1)
--aux.AddSynchroProcedure(c,cm.fil1,cm.fil2,2)
--aux.AddSynchroProcedure(c,s.sfliter,aux.NonTuner(nil),1)
aux.AddSynchroProcedure(c,cm.fil1,cm.fil2,2)
c:EnableReviveLimit()
--set
local e3=Effect.CreateEffect(c)
......@@ -35,7 +35,7 @@ function cm.fil1(c)
return c:IsFaceup() and c:IsType(TYPE_TUNER) and c.Mojin==true
end
function cm.fil2(c)
return c:IsFaceup() and not c:IsType(TYPE_TUNER)
return c:IsFaceup() --and not c:IsType(TYPE_TUNER)
end
function cm.rmfil(c)
return c:IsFaceup() and c:IsStatus(STATUS_EFFECT_ENABLED)
......
......@@ -16,6 +16,11 @@ function s.initial_effect(c)
c:RegisterEffect(e0)
--pendulum summon
aux.EnablePendulumAttribute(c,false)
-cannot direct attack
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CANNOT_DIRECT_ATTACK)
c:RegisterEffect(e2)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
......@@ -93,7 +98,7 @@ function s.initial_effect(c)
end
function s.ndsfilter(c)
return c:IsFaceup() and c:IsCode(5012613)
return c:IsFaceup() and c:IsCode(5012613) and c:IsCode(5012625)
end
function s.mtcon(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsExistingMatchingCard(s.ndsfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil)
......
......@@ -203,6 +203,7 @@ function s.tgfilter(c)
end
function s.damop(e,tp,eg,ep,ev,re,r,rp)
local og=e:GetLabelObject():GetLabelObject()
if not og then return end
local tg=og:Filter(Card.IsAbleToDeck,nil)
if Duel.SendtoDeck(tg,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)~=0 then
local cg=Duel.GetOperatedGroup()
......
......@@ -7,6 +7,7 @@ function cm.initial_effect(c)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_DRAW_PHASE+TIMING_CHAIN_END+TIMING_END_PHASE)
e1:SetCountLimit(1,EFFECT_COUNT_CODE_CHAIN)
e1:SetRange(LOCATION_HAND+LOCATION_MZONE)
e1:SetTarget(cm.target)
e1:SetOperation(cm.operation)
......@@ -30,7 +31,7 @@ function cm.initial_effect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_LEAVE_FIELD)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e3:SetCountLimit(1,m+9000)
e3:SetCountLimit(1,m)
e3:SetCondition(cm.spcon)
e3:SetTarget(cm.sptg)
e3:SetOperation(cm.spop)
......
......@@ -17,7 +17,7 @@ function cm.initial_effect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_LEAVE_FIELD)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e3:SetCountLimit(1,m+9000)
e3:SetCountLimit(1,m)
e3:SetCondition(cm.spcon)
e3:SetCost(cm.spcost)
e3:SetTarget(cm.sptg)
......@@ -36,6 +36,7 @@ function cm.initial_effect(c)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_HAND+LOCATION_MZONE)
e2:SetCountLimit(1,EFFECT_COUNT_CODE_CHAIN)
e2:SetTarget(cm.rstg)
e2:SetOperation(cm.rsop)
c:RegisterEffect(e2)
......
......@@ -11,7 +11,7 @@ function c60150504.initial_effect(c)
--特招
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(60150504,1))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_HANDES+CATEGORY_DRAW)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetCountLimit(1)
......
--幻想曲 纯白的女骑士
function c60150507.initial_effect(c)
--summon with no tribute
local e0=Effect.CreateEffect(c)
e0:SetDescription(aux.Stringid(60150505,0))
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_SUMMON_PROC)
e0:SetCondition(c60150507.ntcon)
c:RegisterEffect(e0)
--
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(60150507,0))
......@@ -37,6 +45,10 @@ function c60150507.initial_effect(c)
c:RegisterEffect(e3)]]
Duel.AddCustomActivityCounter(60150507,ACTIVITY_SPSUMMON,c60150507.counterfilter)
end
function c60150507.ntcon(e,c,minc)
if c==nil then return true end
return minc==0 and c:GetLevel()>4 and Duel.GetLocationCount(c:GetControler(),LOCATION_MZONE)>0
end
function c60150507.counterfilter(c)
return (c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsRace(RACE_FIEND))
end
......
......@@ -98,18 +98,16 @@ function c60150520.filter(c,e,tp)
return c:GetRank()<=10 and c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsRace(RACE_FIEND) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c60150520.sumtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_EXTRA) and c60150520.filter(chkc,e,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingTarget(c60150520.filter,tp,LOCATION_EXTRA,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectTarget(tp,c60150520.filter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
if chk==0 then return Duel.IsExistingMatchingCard(c60150520.filter,tp,LOCATION_EXTRA,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
end
function c60150520.sumop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c60150520.filter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
function c60150520.atkcon(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -5,7 +5,7 @@ function c60150530.initial_effect(c)
e1:SetDescription(aux.Stringid(60150530,0))
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetRange(LOCATION_HAND)
e1:SetRange(LOCATION_HAND+LOCATION_GRAVE)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetCountLimit(1,60150530+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(c60150530.e1con)
......
......@@ -88,7 +88,7 @@ function c60151003.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
function c60151003.filter3(c)
function c60151003.thfilter(c)
return c:IsSetCard(0x5b23) and c:IsAbleToHand() and c:IsType(TYPE_SPELL+TYPE_TRAP)
end
function c60151003.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
......
......@@ -98,29 +98,21 @@ function c60158001.e2con(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsHasEffect(60158210)
end
function c60158001.e2tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,0,LOCATION_ONFIELD+LOCATION_HAND)>0 and not e:GetHandler():IsHasEffect(60158210) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,1-tp,LOCATION_ONFIELD+LOCATION_HAND)
Duel.Hint(HINT_OPSELECTED,1-tp,aux.Stringid(60158001,1))
if chk==0 then return Duel.GetFieldGroupCount(tp,0,LOCATION_ONFIELD)>0 and not e:GetHandler():IsHasEffect(60158210) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,1-tp,LOCATION_ONFIELD)
Duel.Hint(HINT_OPSELECTED,1-tp,aux.Stringid(60158001,4))
end
function c60158001.e5con(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsHasEffect(60158210)
end
function c60158001.e5tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,0,LOCATION_ONFIELD+LOCATION_HAND)>0 and e:GetHandler():IsHasEffect(60158210) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,1-tp,LOCATION_ONFIELD+LOCATION_HAND)
Duel.Hint(HINT_OPSELECTED,tp,aux.Stringid(60158001,6))
Duel.Hint(HINT_OPSELECTED,1-tp,aux.Stringid(60158001,6))
if chk==0 then return Duel.GetFieldGroupCount(tp,0,LOCATION_ONFIELD)>0 and e:GetHandler():IsHasEffect(60158210) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,1-tp,LOCATION_ONFIELD)
Duel.Hint(HINT_OPSELECTED,1-tp,aux.Stringid(60158001,4))
end
function c60158001.e2op(e,tp,eg,ep,ev,re,r,rp)
local hg=Duel.GetFieldGroup(tp,0,LOCATION_HAND)
local fg=Duel.GetFieldGroup(tp,0,LOCATION_ONFIELD)
local g
if #hg>0 and (#fg==0 or Duel.SelectOption(tp,aux.Stringid(60158001,3),aux.Stringid(60158001,4))==0) then
g=hg:RandomSelect(tp,1)
else
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
g=Duel.SelectMatchingCard(tp,nil,tp,0,LOCATION_ONFIELD,1,1,nil)
end
local g=Duel.SelectMatchingCard(tp,nil,tp,0,LOCATION_ONFIELD,1,1,nil)
if g:GetCount()~=0 then
Duel.HintSelection(g)
Duel.SendtoGrave(g,REASON_EFFECT)
......
......@@ -30,7 +30,7 @@ function s.initial_effect(c)
c:RegisterEffect(e3)
end
function s.thfilter(c)
return c:IsSetCard(0x9751) and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsAbleToHand()
return c:IsSetCard(0x9751,0x3751) and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsAbleToHand()
end
function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_DECK,0,1,nil) end
......
......@@ -48,7 +48,7 @@ function c98500240.actcon(e)
return Duel.IsExistingMatchingCard(c98500240.afilter2,e:GetHandlerPlayer(),LOCATION_MZONE,0,1,nil) and not Duel.IsExistingMatchingCard(c98500240.afilter,e:GetHandlerPlayer(),LOCATION_MZONE,0,1,nil)
end
function c98500240.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:IsCostChecked() and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsPlayerCanSpecialSummonMonster(tp,98500240,0,TYPES_EFFECT_TRAP_MONSTER,1000,2000,4,RACE_BEASTWARRIOR,ATTRIBUTE_LIGHT end
if chk==0 then return e:IsCostChecked() and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsPlayerCanSpecialSummonMonster(tp,98500240,0,TYPES_EFFECT_TRAP_MONSTER,1000,2000,4,RACE_BEASTWARRIOR,ATTRIBUTE_LIGHT) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function c98500240.activate(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -100,7 +100,7 @@ function s.addo(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or c:IsFacedown() or not c:IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local g=Duel.SelectMatchingCard(tp,s.sobi,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,c)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.sobi),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,c)
if g:GetCount()>0 then
Duel.Equip(tp,g:GetFirst(),c)
end
......
......@@ -100,7 +100,7 @@ function s.addo(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or c:IsFacedown() or not c:IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local g=Duel.SelectMatchingCard(tp,s.sobi,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,c)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.sobi),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,c)
if g:GetCount()>0 then
Duel.Equip(tp,g:GetFirst(),c)
end
......
......@@ -66,7 +66,7 @@ function s.aibo(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsAbleToHand,tp,LOCATION_PZONE,0,nil)
if Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local i=Duel.SelectMatchingCard(tp,s.sazer,tp,LOCATION_GRAVE+LOCATION_EXTRA,0,1,1,nil)
local i=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.sazer),tp,LOCATION_GRAVE+LOCATION_EXTRA,0,1,1,nil)
local tc=i:GetFirst()
if tc then
Duel.MoveToField(tc,tp,tp,LOCATION_PZONE,POS_FACEUP,true)
......@@ -100,7 +100,7 @@ function s.addo(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or c:IsFacedown() or not c:IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local g=Duel.SelectMatchingCard(tp,s.sobi,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,c)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.sobi),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,c)
if g:GetCount()>0 then
Duel.Equip(tp,g:GetFirst(),c)
end
......
......@@ -100,7 +100,7 @@ function s.addo(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or c:IsFacedown() or not c:IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local g=Duel.SelectMatchingCard(tp,s.sobi,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,c)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.sobi),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,c)
if g:GetCount()>0 then
Duel.Equip(tp,g:GetFirst(),c)
end
......
......@@ -100,7 +100,7 @@ function s.addo(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or c:IsFacedown() or not c:IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local g=Duel.SelectMatchingCard(tp,s.sobi,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,c)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.sobi),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,c)
if g:GetCount()>0 then
Duel.Equip(tp,g:GetFirst(),c)
end
......
......@@ -66,7 +66,7 @@ function s.aibo(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsAbleToHand,tp,LOCATION_PZONE,0,nil)
if Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local i=Duel.SelectMatchingCard(tp,s.sazer,tp,LOCATION_GRAVE+LOCATION_EXTRA,0,1,1,nil)
local i=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.sazer),tp,LOCATION_GRAVE+LOCATION_EXTRA,0,1,1,nil)
local tc=i:GetFirst()
if tc then
Duel.MoveToField(tc,tp,tp,LOCATION_PZONE,POS_FACEUP,true)
......@@ -100,7 +100,7 @@ function s.addo(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or c:IsFacedown() or not c:IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local g=Duel.SelectMatchingCard(tp,s.sobi,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,c)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.sobi),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,c)
if g:GetCount()>0 then
Duel.Equip(tp,g:GetFirst(),c)
end
......
......@@ -100,7 +100,7 @@ function s.addo(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or c:IsFacedown() or not c:IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local g=Duel.SelectMatchingCard(tp,s.sobi,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,c)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.sobi),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,c)
if g:GetCount()>0 then
Duel.Equip(tp,g:GetFirst(),c)
end
......
......@@ -100,7 +100,7 @@ function s.addo(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or c:IsFacedown() or not c:IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local g=Duel.SelectMatchingCard(tp,s.sobi,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,c)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.sobi),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,c)
if g:GetCount()>0 then
Duel.Equip(tp,g:GetFirst(),c)
end
......
......@@ -66,7 +66,7 @@ function s.aibo(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsAbleToHand,tp,LOCATION_PZONE,0,nil)
if Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local i=Duel.SelectMatchingCard(tp,s.sazer,tp,LOCATION_GRAVE+LOCATION_EXTRA,0,1,1,nil)
local i=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.sazer),tp,LOCATION_GRAVE+LOCATION_EXTRA,0,1,1,nil)
local tc=i:GetFirst()
if tc then
Duel.MoveToField(tc,tp,tp,LOCATION_PZONE,POS_FACEUP,true)
......@@ -100,7 +100,7 @@ function s.addo(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or c:IsFacedown() or not c:IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local g=Duel.SelectMatchingCard(tp,s.sobi,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,c)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.sobi),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,c)
if g:GetCount()>0 then
Duel.Equip(tp,g:GetFirst(),c)
end
......
......@@ -100,7 +100,7 @@ function s.addo(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or c:IsFacedown() or not c:IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local g=Duel.SelectMatchingCard(tp,s.sobi,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,c)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.sobi),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,c)
if g:GetCount()>0 then
Duel.Equip(tp,g:GetFirst(),c)
end
......
......@@ -100,7 +100,7 @@ function s.addo(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or c:IsFacedown() or not c:IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local g=Duel.SelectMatchingCard(tp,s.sobi,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,c)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.sobi),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,c)
if g:GetCount()>0 then
Duel.Equip(tp,g:GetFirst(),c)
end
......
......@@ -66,7 +66,7 @@ function s.aibo(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsAbleToHand,tp,LOCATION_PZONE,0,nil)
if Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local i=Duel.SelectMatchingCard(tp,s.sazer,tp,LOCATION_GRAVE+LOCATION_EXTRA,0,1,1,nil)
local i=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.sazer),tp,LOCATION_GRAVE+LOCATION_EXTRA,0,1,1,nil)
local tc=i:GetFirst()
if tc then
Duel.MoveToField(tc,tp,tp,LOCATION_PZONE,POS_FACEUP,true)
......@@ -100,7 +100,7 @@ function s.addo(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or c:IsFacedown() or not c:IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local g=Duel.SelectMatchingCard(tp,s.sobi,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,c)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.sobi),tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil,c)
if g:GetCount()>0 then
Duel.Equip(tp,g:GetFirst(),c)
end
......
......@@ -92,7 +92,7 @@ end
function s.aibo(e,tp,eg,ep,ev,re,r,rp)
if not Duel.CheckLocation(tp,LOCATION_PZONE,0) and not Duel.CheckLocation(tp,LOCATION_PZONE,1) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local i=Duel.SelectMatchingCard(tp,s.sazer,tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_REMOVED,0,1,1,nil)
local i=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.sazer),tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_REMOVED,0,1,1,nil)
local tc=i:GetFirst()
if tc then
Duel.MoveToField(tc,tp,tp,LOCATION_PZONE,POS_FACEUP,true)
......
......@@ -92,7 +92,7 @@ end
function s.aibo(e,tp,eg,ep,ev,re,r,rp)
if not Duel.CheckLocation(tp,LOCATION_PZONE,0) and not Duel.CheckLocation(tp,LOCATION_PZONE,1) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local i=Duel.SelectMatchingCard(tp,s.sazer,tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_REMOVED,0,1,1,nil)
local i=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.sazer),tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_REMOVED,0,1,1,nil)
local tc=i:GetFirst()
if tc then
Duel.MoveToField(tc,tp,tp,LOCATION_PZONE,POS_FACEUP,true)
......
......@@ -92,7 +92,7 @@ end
function s.aibo(e,tp,eg,ep,ev,re,r,rp)
if not Duel.CheckLocation(tp,LOCATION_PZONE,0) and not Duel.CheckLocation(tp,LOCATION_PZONE,1) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local i=Duel.SelectMatchingCard(tp,s.sazer,tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_REMOVED,0,1,1,nil)
local i=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.sazer),tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_REMOVED,0,1,1,nil)
local tc=i:GetFirst()
if tc then
Duel.MoveToField(tc,tp,tp,LOCATION_PZONE,POS_FACEUP,true)
......
......@@ -92,7 +92,7 @@ end
function s.aibo(e,tp,eg,ep,ev,re,r,rp)
if not Duel.CheckLocation(tp,LOCATION_PZONE,0) and not Duel.CheckLocation(tp,LOCATION_PZONE,1) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local i=Duel.SelectMatchingCard(tp,s.sazer,tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_REMOVED,0,1,1,nil)
local i=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.sazer),tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_REMOVED,0,1,1,nil)
local tc=i:GetFirst()
if tc then
Duel.MoveToField(tc,tp,tp,LOCATION_PZONE,POS_FACEUP,true)
......
......@@ -95,7 +95,7 @@ function s.oath(e,tp,chk)
Duel.RegisterFlagEffect(tp,id,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end
function s.mudana(e,te)
return not te:IsActiveType(TYPE_PENDULUM)
return not te:IsActiveType(TYPE_PENDULUM+TYPE_SPELL+TYPE_TRAP)
and te:GetHandler():GetAttack()<e:GetHandler():GetDefense()
end
function s.driver(e)
......
......@@ -94,7 +94,7 @@ function s.oath(e,tp,chk)
Duel.RegisterFlagEffect(tp,id,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end
function s.mudana(e,te)
return not te:IsActiveType(TYPE_PENDULUM)
return not te:IsActiveType(TYPE_PENDULUM+TYPE_SPELL+TYPE_TRAP)
and te:GetHandler():GetAttack()<e:GetHandler():GetDefense()
end
function s.driver(e)
......
......@@ -89,7 +89,7 @@ function s.oath(e,tp,chk)
Duel.RegisterFlagEffect(tp,id,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end
function s.mudana(e,te)
return not te:IsActiveType(TYPE_PENDULUM)
return not te:IsActiveType(TYPE_PENDULUM+TYPE_SPELL+TYPE_TRAP)
and te:GetHandler():GetAttack()<e:GetHandler():GetDefense()
end
function s.driver(e)
......
......@@ -92,7 +92,7 @@ function s.oath(e,tp,chk)
Duel.RegisterFlagEffect(tp,id,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end
function s.mudana(e,te)
return not te:IsActiveType(TYPE_PENDULUM)
return not te:IsActiveType(TYPE_PENDULUM+TYPE_SPELL+TYPE_TRAP)
and te:GetHandler():GetAttack()<e:GetHandler():GetDefense()
end
function s.driver(e)
......
......@@ -98,7 +98,7 @@ function s.oath(e,tp,chk)
Duel.RegisterFlagEffect(tp,id,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end
function s.mudana(e,te)
return not te:IsActiveType(TYPE_PENDULUM)
return not te:IsActiveType(TYPE_PENDULUM+TYPE_SPELL+TYPE_TRAP)
and te:GetHandler():GetAttack()<e:GetHandler():GetDefense()
end
function s.driver(e)
......
......@@ -134,7 +134,7 @@ function s.huist(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_TOEXTRA,g,g:GetCount(),0,0)
end
function s.huiso(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(s.kado,tp,LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_REMOVED,0,nil)
local g=Duel.GetMatchingGroup(aux.NecroValleyFilter(s.kado),tp,LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_REMOVED,0,nil)
Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
end
function s.huisc(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