Commit 9b728461 authored by Satty's avatar Satty

fix

parent c2f908f3
Pipeline #36490 passed with stages
in 69 minutes and 2 seconds
...@@ -12,7 +12,7 @@ function s.initial_effect(c) ...@@ -12,7 +12,7 @@ function s.initial_effect(c)
e1:SetTarget(s.sptg) e1:SetTarget(s.sptg)
e1:SetOperation(s.spop) e1:SetOperation(s.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
if not s.global_check then if not s.global_check then
s.global_check=true s.global_check=true
local ge1=Effect.CreateEffect(c) local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
......
...@@ -35,6 +35,7 @@ function cm.initial_effect(c) ...@@ -35,6 +35,7 @@ function cm.initial_effect(c)
e3:SetRange(LOCATION_PZONE) e3:SetRange(LOCATION_PZONE)
e3:SetCode(EVENT_FREE_CHAIN) e3:SetCode(EVENT_FREE_CHAIN)
e3:SetCountLimit(1,m+100+EFFECT_COUNT_CODE_OATH) e3:SetCountLimit(1,m+100+EFFECT_COUNT_CODE_OATH)
e3:SetCost(cm.spcost)
e3:SetTarget(cm.sptg) e3:SetTarget(cm.sptg)
e3:SetOperation(cm.spop) e3:SetOperation(cm.spop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
...@@ -99,6 +100,10 @@ function cm.regop(e,tp,eg,ep,ev,re,r,rp) ...@@ -99,6 +100,10 @@ function cm.regop(e,tp,eg,ep,ev,re,r,rp)
e:Reset() e:Reset()
end end
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) 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 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) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,tp,LOCATION_PZONE)
......
...@@ -30,6 +30,7 @@ function cm.initial_effect(c) ...@@ -30,6 +30,7 @@ function cm.initial_effect(c)
e2:SetRange(LOCATION_PZONE) e2:SetRange(LOCATION_PZONE)
e2:SetCode(EVENT_FREE_CHAIN) e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH) e2:SetCountLimit(1,m+EFFECT_COUNT_CODE_OATH)
e2:SetCost(cm.spcost)
e2:SetTarget(cm.sptg) e2:SetTarget(cm.sptg)
e2:SetOperation(cm.spop) e2:SetOperation(cm.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
...@@ -71,6 +72,10 @@ function cm.operation(e,tp) ...@@ -71,6 +72,10 @@ function cm.operation(e,tp)
local sg=Duel.SelectMatchingCard(tp,Card.IsReleasable,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil) local sg=Duel.SelectMatchingCard(tp,Card.IsReleasable,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
Duel.Release(sg,REASON_EFFECT) Duel.Release(sg,REASON_EFFECT)
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) 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 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) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,tp,LOCATION_PZONE)
......
...@@ -6,7 +6,7 @@ function s.initial_effect(c) ...@@ -6,7 +6,7 @@ function s.initial_effect(c)
e1:SetDescription(aux.Stringid(id,1)) e1:SetDescription(aux.Stringid(id,1))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) 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:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetCountLimit(1,id) e1:SetCountLimit(1,id)
e1:SetTarget(s.sptg) e1:SetTarget(s.sptg)
......
--戏世游寰·奇物卡带-人格解体 --戏世游寰·奇物卡带-人格解体
local m=18700109 local cm,m,o=GetID()
local cm=_G["c"..m]
Duel.LoadScript("1.lua")
function cm.initial_effect(c) function cm.initial_effect(c)
aux.AddLinkProcedure(c,nil,2,99,cm.lcheck) aux.AddLinkProcedure(c,nil,2,99,cm.lcheck)
c:EnableReviveLimit() c:EnableReviveLimit()
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0)) e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP) e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
...@@ -19,7 +16,7 @@ function cm.initial_effect(c) ...@@ -19,7 +16,7 @@ function cm.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1)) e2:SetDescription(aux.Stringid(m,1))
e2:SetCategory(CATEGORY_DRAW+CATEGORY_RECOVER) e2:SetCategory(CATEGORY_DRAW)
e2:SetType(EFFECT_TYPE_QUICK_O) e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP) e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e2:SetCode(EVENT_FREE_CHAIN) e2:SetCode(EVENT_FREE_CHAIN)
......
--戏世游寰·雨都朋客-空 --戏世游寰·雨都朋客-空
local m=18700188 local cm,m,o=GetID()
local cm=_G["c"..m]
Duel.LoadScript("1.lua")
function cm.initial_effect(c) function cm.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0)) e1:SetDescription(aux.Stringid(m,0))
......
...@@ -12,10 +12,12 @@ function s.initial_effect(c) ...@@ -12,10 +12,12 @@ function s.initial_effect(c)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCategory(CATEGORY_POSITION+CATEGORY_REMOVE) e1:SetCategory(CATEGORY_POSITION+CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SPSUMMON_SUCCESS) e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCountLimit(1,id) e1:SetCountLimit(1,id)
e1:SetCondition(s.spcon) e1:SetCondition(s.spcon)
e1:SetCost(s.spcost) e1:SetCost(s.spcost)
e1:SetTarget(s.sptg) e1:SetTarget(s.sptg)
e1:SetOperation(s.spop) e1:SetOperation(s.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -90,5 +92,5 @@ function s.imcon(e) ...@@ -90,5 +92,5 @@ function s.imcon(e)
return c:IsDefensePos() and c:GetTurnID()==Duel.GetTurnCount() return c:IsDefensePos() and c:GetTurnID()==Duel.GetTurnCount()
end end
function s.efilter(e,te) function s.efilter(e,te)
return te:GetOwnerPlayer()~=e:GetOwnerPlayer() and re:IsActivated() return te:GetOwnerPlayer()~=e:GetOwnerPlayer() and te:IsActivated()
end end
\ No newline at end of file
...@@ -3,7 +3,7 @@ local s,id,o=GetID() ...@@ -3,7 +3,7 @@ local s,id,o=GetID()
function s.initial_effect(c) function s.initial_effect(c)
--这个卡名的卡在1回合只能发动1张,这个卡名的③的效果1回合只能使用1次。 --这个卡名的卡在1回合只能发动1张,这个卡名的③的效果1回合只能使用1次。
--①:作为这张卡的发动时的效果处理,可以从卡组把1只「往世」怪兽加入手卡。 --①:作为这张卡的发动时的效果处理,可以从卡组把1只「往世」怪兽加入手卡。
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
...@@ -11,7 +11,7 @@ function s.initial_effect(c) ...@@ -11,7 +11,7 @@ function s.initial_effect(c)
e1:SetOperation(s.activate) e1:SetOperation(s.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--②:自己在通常召唤外加上只有1次,自己主要阶段可以把1只「往世」怪兽召唤。 --②:自己在通常召唤外加上只有1次,自己主要阶段可以把1只「往世」怪兽召唤。
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id,1)) e2:SetDescription(aux.Stringid(id,1))
e2:SetType(EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_EXTRA_SUMMON_COUNT) e2:SetCode(EFFECT_EXTRA_SUMMON_COUNT)
...@@ -20,7 +20,7 @@ function s.initial_effect(c) ...@@ -20,7 +20,7 @@ function s.initial_effect(c)
e2:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x331)) e2:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x331))
c:RegisterEffect(e2) c:RegisterEffect(e2)
--③:这张卡在墓地存在的场合才能发动。这张卡变成【月面·往世巨兽·德尔梅拉斯】在自己场上特殊召唤。 --③:这张卡在墓地存在的场合才能发动。这张卡变成【月面·往世巨兽·德尔梅拉斯】在自己场上特殊召唤。
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(id,2)) e3:SetDescription(aux.Stringid(id,2))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON) e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_IGNITION) e3:SetType(EFFECT_TYPE_IGNITION)
...@@ -52,7 +52,7 @@ function s.operationct(e,tp,eg,ep,ev,re,r,rp) ...@@ -52,7 +52,7 @@ function s.operationct(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
Duel.SpecialSummon(c,0,tp,tp,true,true,POS_FACEUP) 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) c:ReplaceEffect(id+1,0,0)
Duel.Hint(10,1,id+1) Duel.Hint(10,1,id+1)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
...@@ -3,8 +3,8 @@ local cm,m,o=GetID() ...@@ -3,8 +3,8 @@ local cm,m,o=GetID()
local s,id,o=GetID() local s,id,o=GetID()
s.MoJin=true s.MoJin=true
function cm.initial_effect(c) function cm.initial_effect(c)
aux.AddSynchroProcedure(c,s.sfliter,aux.NonTuner(nil),1) --aux.AddSynchroProcedure(c,s.sfliter,aux.NonTuner(nil),1)
--aux.AddSynchroProcedure(c,cm.fil1,cm.fil2,2) aux.AddSynchroProcedure(c,cm.fil1,cm.fil2,2)
c:EnableReviveLimit() c:EnableReviveLimit()
--set --set
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
...@@ -35,7 +35,7 @@ function cm.fil1(c) ...@@ -35,7 +35,7 @@ function cm.fil1(c)
return c:IsFaceup() and c:IsType(TYPE_TUNER) and c.Mojin==true return c:IsFaceup() and c:IsType(TYPE_TUNER) and c.Mojin==true
end end
function cm.fil2(c) function cm.fil2(c)
return c:IsFaceup() and not c:IsType(TYPE_TUNER) return c:IsFaceup() --and not c:IsType(TYPE_TUNER)
end end
function cm.rmfil(c) function cm.rmfil(c)
return c:IsFaceup() and c:IsStatus(STATUS_EFFECT_ENABLED) return c:IsFaceup() and c:IsStatus(STATUS_EFFECT_ENABLED)
......
...@@ -16,6 +16,11 @@ function s.initial_effect(c) ...@@ -16,6 +16,11 @@ function s.initial_effect(c)
c:RegisterEffect(e0) c:RegisterEffect(e0)
--pendulum summon --pendulum summon
aux.EnablePendulumAttribute(c,false) 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) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
...@@ -93,7 +98,7 @@ function s.initial_effect(c) ...@@ -93,7 +98,7 @@ function s.initial_effect(c)
end end
function s.ndsfilter(c) function s.ndsfilter(c)
return c:IsFaceup() and c:IsCode(5012613) return c:IsFaceup() and c:IsCode(5012613) and c:IsCode(5012625)
end end
function s.mtcon(e,tp,eg,ep,ev,re,r,rp) function s.mtcon(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsExistingMatchingCard(s.ndsfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) return not Duel.IsExistingMatchingCard(s.ndsfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil)
......
...@@ -203,6 +203,7 @@ function s.tgfilter(c) ...@@ -203,6 +203,7 @@ function s.tgfilter(c)
end end
function s.damop(e,tp,eg,ep,ev,re,r,rp) function s.damop(e,tp,eg,ep,ev,re,r,rp)
local og=e:GetLabelObject():GetLabelObject() local og=e:GetLabelObject():GetLabelObject()
if not og then return end
local tg=og:Filter(Card.IsAbleToDeck,nil) local tg=og:Filter(Card.IsAbleToDeck,nil)
if Duel.SendtoDeck(tg,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)~=0 then if Duel.SendtoDeck(tg,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)~=0 then
local cg=Duel.GetOperatedGroup() local cg=Duel.GetOperatedGroup()
......
...@@ -7,6 +7,7 @@ function cm.initial_effect(c) ...@@ -7,6 +7,7 @@ function cm.initial_effect(c)
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_DRAW_PHASE+TIMING_CHAIN_END+TIMING_END_PHASE) 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:SetRange(LOCATION_HAND+LOCATION_MZONE)
e1:SetTarget(cm.target) e1:SetTarget(cm.target)
e1:SetOperation(cm.operation) e1:SetOperation(cm.operation)
...@@ -30,7 +31,7 @@ function cm.initial_effect(c) ...@@ -30,7 +31,7 @@ function cm.initial_effect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_LEAVE_FIELD) e3:SetCode(EVENT_LEAVE_FIELD)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e3:SetCountLimit(1,m+9000) e3:SetCountLimit(1,m)
e3:SetCondition(cm.spcon) e3:SetCondition(cm.spcon)
e3:SetTarget(cm.sptg) e3:SetTarget(cm.sptg)
e3:SetOperation(cm.spop) e3:SetOperation(cm.spop)
......
...@@ -17,7 +17,7 @@ function cm.initial_effect(c) ...@@ -17,7 +17,7 @@ function cm.initial_effect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_LEAVE_FIELD) e3:SetCode(EVENT_LEAVE_FIELD)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e3:SetCountLimit(1,m+9000) e3:SetCountLimit(1,m)
e3:SetCondition(cm.spcon) e3:SetCondition(cm.spcon)
e3:SetCost(cm.spcost) e3:SetCost(cm.spcost)
e3:SetTarget(cm.sptg) e3:SetTarget(cm.sptg)
...@@ -36,6 +36,7 @@ function cm.initial_effect(c) ...@@ -36,6 +36,7 @@ function cm.initial_effect(c)
e2:SetType(EFFECT_TYPE_QUICK_O) e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN) e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_HAND+LOCATION_MZONE) e2:SetRange(LOCATION_HAND+LOCATION_MZONE)
e2:SetCountLimit(1,EFFECT_COUNT_CODE_CHAIN)
e2:SetTarget(cm.rstg) e2:SetTarget(cm.rstg)
e2:SetOperation(cm.rsop) e2:SetOperation(cm.rsop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
......
...@@ -11,7 +11,7 @@ function c60150504.initial_effect(c) ...@@ -11,7 +11,7 @@ function c60150504.initial_effect(c)
--特招 --特招
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(60150504,1)) 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:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetCountLimit(1) e1:SetCountLimit(1)
......
--幻想曲 纯白的女骑士 --幻想曲 纯白的女骑士
function c60150507.initial_effect(c) 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) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(60150507,0)) e1:SetDescription(aux.Stringid(60150507,0))
...@@ -37,6 +45,10 @@ function c60150507.initial_effect(c) ...@@ -37,6 +45,10 @@ function c60150507.initial_effect(c)
c:RegisterEffect(e3)]] c:RegisterEffect(e3)]]
Duel.AddCustomActivityCounter(60150507,ACTIVITY_SPSUMMON,c60150507.counterfilter) Duel.AddCustomActivityCounter(60150507,ACTIVITY_SPSUMMON,c60150507.counterfilter)
end 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) function c60150507.counterfilter(c)
return (c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsRace(RACE_FIEND)) return (c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsRace(RACE_FIEND))
end end
......
...@@ -98,18 +98,16 @@ function c60150520.filter(c,e,tp) ...@@ -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) return c:GetRank()<=10 and c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsRace(RACE_FIEND) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c60150520.sumtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) 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.IsExistingMatchingCard(c60150520.filter,tp,LOCATION_EXTRA,0,1,nil,e,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
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)
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription()) Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
end end
function c60150520.sumop(e,tp,eg,ep,ev,re,r,rp) function c60150520.sumop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local c=e:GetHandler()
if tc:IsRelateToEffect(e) then Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP) 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
end end
function c60150520.atkcon(e,tp,eg,ep,ev,re,r,rp) function c60150520.atkcon(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -5,7 +5,7 @@ function c60150530.initial_effect(c) ...@@ -5,7 +5,7 @@ function c60150530.initial_effect(c)
e1:SetDescription(aux.Stringid(60150530,0)) e1:SetDescription(aux.Stringid(60150530,0))
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC) e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetRange(LOCATION_HAND) e1:SetRange(LOCATION_HAND+LOCATION_GRAVE)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE) e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetCountLimit(1,60150530+EFFECT_COUNT_CODE_OATH) e1:SetCountLimit(1,60150530+EFFECT_COUNT_CODE_OATH)
e1:SetCondition(c60150530.e1con) e1:SetCondition(c60150530.e1con)
......
...@@ -88,7 +88,7 @@ function c60151003.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -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) Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end end
end end
function c60151003.filter3(c) function c60151003.thfilter(c)
return c:IsSetCard(0x5b23) and c:IsAbleToHand() and c:IsType(TYPE_SPELL+TYPE_TRAP) return c:IsSetCard(0x5b23) and c:IsAbleToHand() and c:IsType(TYPE_SPELL+TYPE_TRAP)
end end
function c60151003.sptg(e,tp,eg,ep,ev,re,r,rp,chk) 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) ...@@ -98,29 +98,21 @@ function c60158001.e2con(e,tp,eg,ep,ev,re,r,rp)
return not e:GetHandler():IsHasEffect(60158210) return not e:GetHandler():IsHasEffect(60158210)
end end
function c60158001.e2tg(e,tp,eg,ep,ev,re,r,rp,chk) 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 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+LOCATION_HAND) Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,1-tp,LOCATION_ONFIELD)
Duel.Hint(HINT_OPSELECTED,1-tp,aux.Stringid(60158001,1)) Duel.Hint(HINT_OPSELECTED,1-tp,aux.Stringid(60158001,4))
end end
function c60158001.e5con(e,tp,eg,ep,ev,re,r,rp) function c60158001.e5con(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsHasEffect(60158210) return e:GetHandler():IsHasEffect(60158210)
end end
function c60158001.e5tg(e,tp,eg,ep,ev,re,r,rp,chk) 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 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+LOCATION_HAND) Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,1-tp,LOCATION_ONFIELD)
Duel.Hint(HINT_OPSELECTED,tp,aux.Stringid(60158001,6)) Duel.Hint(HINT_OPSELECTED,1-tp,aux.Stringid(60158001,4))
Duel.Hint(HINT_OPSELECTED,1-tp,aux.Stringid(60158001,6))
end end
function c60158001.e2op(e,tp,eg,ep,ev,re,r,rp) function c60158001.e2op(e,tp,eg,ep,ev,re,r,rp)
local hg=Duel.GetFieldGroup(tp,0,LOCATION_HAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local fg=Duel.GetFieldGroup(tp,0,LOCATION_ONFIELD) local g=Duel.SelectMatchingCard(tp,nil,tp,0,LOCATION_ONFIELD,1,1,nil)
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
if g:GetCount()~=0 then if g:GetCount()~=0 then
Duel.HintSelection(g) Duel.HintSelection(g)
Duel.SendtoGrave(g,REASON_EFFECT) Duel.SendtoGrave(g,REASON_EFFECT)
......
...@@ -30,7 +30,7 @@ function s.initial_effect(c) ...@@ -30,7 +30,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(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 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,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_DECK,0,1,nil) end
......
...@@ -48,7 +48,7 @@ function c98500240.actcon(e) ...@@ -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) 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 end
function c98500240.target(e,tp,eg,ep,ev,re,r,rp,chk) 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) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end end
function c98500240.activate(e,tp,eg,ep,ev,re,r,rp) 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) ...@@ -100,7 +100,7 @@ function s.addo(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or c:IsFacedown() or not c:IsRelateToEffect(e) then return end 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) 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 if g:GetCount()>0 then
Duel.Equip(tp,g:GetFirst(),c) Duel.Equip(tp,g:GetFirst(),c)
end end
......
...@@ -100,7 +100,7 @@ function s.addo(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() local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or c:IsFacedown() or not c:IsRelateToEffect(e) then return end 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) 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 if g:GetCount()>0 then
Duel.Equip(tp,g:GetFirst(),c) Duel.Equip(tp,g:GetFirst(),c)
end end
......
...@@ -66,7 +66,7 @@ function s.aibo(e,tp,eg,ep,ev,re,r,rp) ...@@ -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) local g=Duel.GetMatchingGroup(Card.IsAbleToHand,tp,LOCATION_PZONE,0,nil)
if Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then if Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD) 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() local tc=i:GetFirst()
if tc then if tc then
Duel.MoveToField(tc,tp,tp,LOCATION_PZONE,POS_FACEUP,true) 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) ...@@ -100,7 +100,7 @@ function s.addo(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or c:IsFacedown() or not c:IsRelateToEffect(e) then return end 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) 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 if g:GetCount()>0 then
Duel.Equip(tp,g:GetFirst(),c) Duel.Equip(tp,g:GetFirst(),c)
end end
......
...@@ -100,7 +100,7 @@ function s.addo(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() local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or c:IsFacedown() or not c:IsRelateToEffect(e) then return end 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) 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 if g:GetCount()>0 then
Duel.Equip(tp,g:GetFirst(),c) Duel.Equip(tp,g:GetFirst(),c)
end end
......
...@@ -100,7 +100,7 @@ function s.addo(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() local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or c:IsFacedown() or not c:IsRelateToEffect(e) then return end 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) 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 if g:GetCount()>0 then
Duel.Equip(tp,g:GetFirst(),c) Duel.Equip(tp,g:GetFirst(),c)
end end
......
...@@ -66,7 +66,7 @@ function s.aibo(e,tp,eg,ep,ev,re,r,rp) ...@@ -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) local g=Duel.GetMatchingGroup(Card.IsAbleToHand,tp,LOCATION_PZONE,0,nil)
if Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then if Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD) 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() local tc=i:GetFirst()
if tc then if tc then
Duel.MoveToField(tc,tp,tp,LOCATION_PZONE,POS_FACEUP,true) 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) ...@@ -100,7 +100,7 @@ function s.addo(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or c:IsFacedown() or not c:IsRelateToEffect(e) then return end 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) 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 if g:GetCount()>0 then
Duel.Equip(tp,g:GetFirst(),c) Duel.Equip(tp,g:GetFirst(),c)
end end
......
...@@ -100,7 +100,7 @@ function s.addo(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() local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or c:IsFacedown() or not c:IsRelateToEffect(e) then return end 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) 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 if g:GetCount()>0 then
Duel.Equip(tp,g:GetFirst(),c) Duel.Equip(tp,g:GetFirst(),c)
end end
......
...@@ -100,7 +100,7 @@ function s.addo(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() local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or c:IsFacedown() or not c:IsRelateToEffect(e) then return end 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) 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 if g:GetCount()>0 then
Duel.Equip(tp,g:GetFirst(),c) Duel.Equip(tp,g:GetFirst(),c)
end end
......
...@@ -66,7 +66,7 @@ function s.aibo(e,tp,eg,ep,ev,re,r,rp) ...@@ -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) local g=Duel.GetMatchingGroup(Card.IsAbleToHand,tp,LOCATION_PZONE,0,nil)
if Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then if Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD) 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() local tc=i:GetFirst()
if tc then if tc then
Duel.MoveToField(tc,tp,tp,LOCATION_PZONE,POS_FACEUP,true) 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) ...@@ -100,7 +100,7 @@ function s.addo(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or c:IsFacedown() or not c:IsRelateToEffect(e) then return end 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) 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 if g:GetCount()>0 then
Duel.Equip(tp,g:GetFirst(),c) Duel.Equip(tp,g:GetFirst(),c)
end end
......
...@@ -100,7 +100,7 @@ function s.addo(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() local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or c:IsFacedown() or not c:IsRelateToEffect(e) then return end 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) 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 if g:GetCount()>0 then
Duel.Equip(tp,g:GetFirst(),c) Duel.Equip(tp,g:GetFirst(),c)
end end
......
...@@ -100,7 +100,7 @@ function s.addo(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() local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or c:IsFacedown() or not c:IsRelateToEffect(e) then return end 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) 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 if g:GetCount()>0 then
Duel.Equip(tp,g:GetFirst(),c) Duel.Equip(tp,g:GetFirst(),c)
end end
......
...@@ -66,7 +66,7 @@ function s.aibo(e,tp,eg,ep,ev,re,r,rp) ...@@ -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) local g=Duel.GetMatchingGroup(Card.IsAbleToHand,tp,LOCATION_PZONE,0,nil)
if Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then if Duel.SendtoHand(g,nil,REASON_EFFECT)~=0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD) 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() local tc=i:GetFirst()
if tc then if tc then
Duel.MoveToField(tc,tp,tp,LOCATION_PZONE,POS_FACEUP,true) 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) ...@@ -100,7 +100,7 @@ function s.addo(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 or c:IsFacedown() or not c:IsRelateToEffect(e) then return end 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) 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 if g:GetCount()>0 then
Duel.Equip(tp,g:GetFirst(),c) Duel.Equip(tp,g:GetFirst(),c)
end end
......
...@@ -92,7 +92,7 @@ end ...@@ -92,7 +92,7 @@ end
function s.aibo(e,tp,eg,ep,ev,re,r,rp) 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 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) 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() local tc=i:GetFirst()
if tc then if tc then
Duel.MoveToField(tc,tp,tp,LOCATION_PZONE,POS_FACEUP,true) Duel.MoveToField(tc,tp,tp,LOCATION_PZONE,POS_FACEUP,true)
......
...@@ -92,7 +92,7 @@ end ...@@ -92,7 +92,7 @@ end
function s.aibo(e,tp,eg,ep,ev,re,r,rp) 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 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) 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() local tc=i:GetFirst()
if tc then if tc then
Duel.MoveToField(tc,tp,tp,LOCATION_PZONE,POS_FACEUP,true) Duel.MoveToField(tc,tp,tp,LOCATION_PZONE,POS_FACEUP,true)
......
...@@ -92,7 +92,7 @@ end ...@@ -92,7 +92,7 @@ end
function s.aibo(e,tp,eg,ep,ev,re,r,rp) 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 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) 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() local tc=i:GetFirst()
if tc then if tc then
Duel.MoveToField(tc,tp,tp,LOCATION_PZONE,POS_FACEUP,true) Duel.MoveToField(tc,tp,tp,LOCATION_PZONE,POS_FACEUP,true)
......
...@@ -92,7 +92,7 @@ end ...@@ -92,7 +92,7 @@ end
function s.aibo(e,tp,eg,ep,ev,re,r,rp) 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 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) 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() local tc=i:GetFirst()
if tc then if tc then
Duel.MoveToField(tc,tp,tp,LOCATION_PZONE,POS_FACEUP,true) Duel.MoveToField(tc,tp,tp,LOCATION_PZONE,POS_FACEUP,true)
......
...@@ -95,7 +95,7 @@ function s.oath(e,tp,chk) ...@@ -95,7 +95,7 @@ function s.oath(e,tp,chk)
Duel.RegisterFlagEffect(tp,id,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1) Duel.RegisterFlagEffect(tp,id,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end end
function s.mudana(e,te) 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() and te:GetHandler():GetAttack()<e:GetHandler():GetDefense()
end end
function s.driver(e) function s.driver(e)
......
...@@ -94,7 +94,7 @@ function s.oath(e,tp,chk) ...@@ -94,7 +94,7 @@ function s.oath(e,tp,chk)
Duel.RegisterFlagEffect(tp,id,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1) Duel.RegisterFlagEffect(tp,id,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end end
function s.mudana(e,te) 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() and te:GetHandler():GetAttack()<e:GetHandler():GetDefense()
end end
function s.driver(e) function s.driver(e)
......
...@@ -89,7 +89,7 @@ function s.oath(e,tp,chk) ...@@ -89,7 +89,7 @@ function s.oath(e,tp,chk)
Duel.RegisterFlagEffect(tp,id,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1) Duel.RegisterFlagEffect(tp,id,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end end
function s.mudana(e,te) 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() and te:GetHandler():GetAttack()<e:GetHandler():GetDefense()
end end
function s.driver(e) function s.driver(e)
......
...@@ -92,7 +92,7 @@ function s.oath(e,tp,chk) ...@@ -92,7 +92,7 @@ function s.oath(e,tp,chk)
Duel.RegisterFlagEffect(tp,id,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1) Duel.RegisterFlagEffect(tp,id,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end end
function s.mudana(e,te) 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() and te:GetHandler():GetAttack()<e:GetHandler():GetDefense()
end end
function s.driver(e) function s.driver(e)
......
...@@ -98,7 +98,7 @@ function s.oath(e,tp,chk) ...@@ -98,7 +98,7 @@ function s.oath(e,tp,chk)
Duel.RegisterFlagEffect(tp,id,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1) Duel.RegisterFlagEffect(tp,id,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end end
function s.mudana(e,te) 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() and te:GetHandler():GetAttack()<e:GetHandler():GetDefense()
end end
function s.driver(e) function s.driver(e)
......
...@@ -134,7 +134,7 @@ function s.huist(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -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) Duel.SetOperationInfo(0,CATEGORY_TOEXTRA,g,g:GetCount(),0,0)
end end
function s.huiso(e,tp,eg,ep,ev,re,r,rp) 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) Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
end end
function s.huisc(e,tp,eg,ep,ev,re,r,rp) 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