Commit e8e9f09c authored by tsubaki's avatar tsubaki

2.0.0正式版 补丁

parent 0fa7dc09
Pipeline #40140 passed with stage
in 1 minute and 28 seconds
#[2.0.0a HCG][2015.10][2015.4.1][2015.4.1 TCG][2015.1.1][2015.1.1 TCG][2014.10.1][2014.10.1 TCG][2014.7.1][2014.7.14 TCG][2014世界赛][2014.4.1][2014.4.1 TCG][2014.2.1][2014.1.1 TCG][2013.9.1][2013.10.11 TCG][2013.9.1 TCG][2013.3.1][2012.9.1][2012.3.1][2011.9.1][2011.3.1][2010.9.1][2010.3.1][2009.9.1][2009.3.1][2008.9.1][2008.3.1][2007.9.1][2007.3.1][2006.9.1][2006.3.1][2005.9.1][2005.3.1][2004.9.1][2004.3.1][2003.10.15][2003.7.1][2003.4.10][2003.1.1][2002.10.1][2002.1.1][2000.12.1][2000.4.1][1999.8.26]
#[2.0.0正式版 HCG][2015.10][2015.4.1][2015.4.1 TCG][2015.1.1][2015.1.1 TCG][2014.10.1][2014.10.1 TCG][2014.7.1][2014.7.14 TCG][2014世界赛][2014.4.1][2014.4.1 TCG][2014.2.1][2014.1.1 TCG][2013.9.1][2013.10.11 TCG][2013.9.1 TCG][2013.3.1][2012.9.1][2012.3.1][2011.9.1][2011.3.1][2010.9.1][2010.3.1][2009.9.1][2009.3.1][2008.9.1][2008.3.1][2007.9.1][2007.3.1][2006.9.1][2006.3.1][2005.9.1][2005.3.1][2004.9.1][2004.3.1][2003.10.15][2003.7.1][2003.4.10][2003.1.1][2002.10.1][2002.1.1][2000.12.1][2000.4.1][1999.8.26]
!2.0.0a HCG
!2.0.0正式版 HCG
#limit
23252 0 --暴力取材
14028 2 --BAD APPLE!!
60605 2 --芒种
25096 1 --火蓝
24164 1 --针山火海的废狱使者✿火焰猫燐
10246 2 --绮想的巫女
--油卡
999019 0 --地底蔷薇✿濑笈叶
--AOJ
......@@ -21,7 +18,6 @@
1153607 1 --河童『光学回转』
1192020 2 --甜蜜工厂✿双子莉莉
--M
50008101 0 --梅露可 飘落绵雪
50008109 1 --永洁
--鱼卡
14000021 1 --杀戮行者·奈陌
......@@ -45,6 +41,7 @@
14090023 0 --吲哚天种
14090027 0 --天顶的魔种
14000055 1 --源始魔术-始源
14000271 0 --星态导士·天启-0110
--kg
17035030 0 --臭鼬
17050932 0 --雷gay
......@@ -57,8 +54,8 @@
--锅卡
22200161 0 --无颜者
--呆卡
74561020 2 --女神天子
74561011 2 --暴风文
74561020 1 --女神天子
74561011 1 --暴风文
74561017 1 --盲目的贤者✿格洛丽亚
74560004 1 --银雨·常夜雨兎
74561037 1 --月斗神拳✿世纪末铃仙
......@@ -66,6 +63,7 @@
74560009 0 --银雨·露芙缇
74561013 1 --论外化
74562032 0 --鬼牌
74561032 0 --强制死亡宣言
--L
--金卡
86379706 0 --精神✿操作
......@@ -74,11 +72,11 @@
86379864 1 --羽衣若水✿永江衣玖
86379758 1 --嫉妒『看不见的绿眼怪物』
86379752 0 --花咲爷『对华丽的仁者之嫉妒』
86379692 0 --隙间妖怪✿八云紫
86379013 0 --梦符『刈安色的错综迷梦』
86379702 1 --就在你的身后✿古明地恋
86379668 0 --幻巢『飞光虫之巢』
86379052 0 --秘夜『永远与须臾的狭间』
86379728 1 --来自过去的光影
--花草卡?
99677001 0 --茨歌仙✿
99677002 1 --茨华仙✿神仙思想喜爱动物的仙人
......
--黑魅灵✿鲜红之龙
require "expansions/script/nef/darksyn"
function c60152001.initial_effect(c)
--dark synchro summon
c:EnableReviveLimit()
DS.AddDarkSynchroProcedure(c,nil,nil,nil)
DS.DarkSynLimit(c)
--code
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_CHANGE_CODE)
e0:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e0:SetRange(LOCATION_EXTRA+LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_REMOVED)
e0:SetValue(30003)
c:RegisterEffect(e0)
--exbattle
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e1:SetCode(EVENT_BE_BATTLE_TARGET)
e1:SetRange(LOCATION_EXTRA)
e1:SetCondition(c60152001.con1)
e1:SetOperation(c60152001.op1)
c:RegisterEffect(e1)
--exeffect
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e2:SetCode(EVENT_BECOME_TARGET)
e2:SetRange(LOCATION_EXTRA)
e2:SetCondition(c60152001.con2)
e2:SetOperation(c60152001.op2)
c:RegisterEffect(e2)
--move
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_DAMAGE)
e3:SetDescription(aux.Stringid(60152001,1))
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_BE_BATTLE_TARGET)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,60152001)
e3:SetCondition(c60152001.con3)
e3:SetTarget(c60152001.tg3)
e3:SetOperation(c60152001.op3)
c:RegisterEffect(e3)
--movedis
local e4=Effect.CreateEffect(c)
e4:SetCategory(CATEGORY_DISABLE+CATEGORY_DAMAGE)
e4:SetDescription(aux.Stringid(60152001,1))
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_QUICK_O)
e4:SetCode(EVENT_BECOME_TARGET)
e4:SetRange(LOCATION_MZONE)
e4:SetCountLimit(1,60152001)
e4:SetCondition(c60152001.con4)
e4:SetTarget(c60152001.tg4)
e4:SetOperation(c60152001.op4)
c:RegisterEffect(e4)
--pierce
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetCode(EFFECT_PIERCE)
c:RegisterEffect(e5)
end
--
function c60152001.filter1(c)
return c:IsCode(74561002) and c:IsPublic() and c:IsAbleToGraveAsCost()
end
function c60152001.con1(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetAttackTarget()
return tc and tc:IsControler(tp) and tc:IsAbleToGraveAsCost() and Duel.IsExistingMatchingCard(c60152001.filter1,tp,LOCATION_HAND,0,1,nil) and Duel.GetLocationCountFromEx(tp,tp,tc,e:GetHandler())>0 and e:GetHandler():IsCanBeSpecialSummoned(e,SUMMON_TYPE_SYNCHRO,tp,false,false)
end
function c60152001.op1(e,tp,eg,ep,ev,re,r,rp,c)
local tc=Duel.GetAttackTarget()
if not ( tc and tc:IsControler(tp) and tc:IsAbleToGraveAsCost() and Duel.IsExistingMatchingCard(c60152001.filter1,tp,LOCATION_HAND,0,1,nil) and Duel.GetLocationCountFromEx(tp,tp,tc,e:GetHandler())>0 and e:GetHandler():IsCanBeSpecialSummoned(e,SUMMON_TYPE_SYNCHRO,tp,false,false)) then return end
if Duel.SelectYesNo(tp,aux.Stringid(60152001,0) ) then
local c=e:GetHandler()
Duel.Hint(HINT_CARD,0,60152001)
local g=Group.CreateGroup()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local rc=Duel.SelectMatchingCard(tp,c60152001.filter1,tp,LOCATION_HAND,0,1,1,nil):GetFirst()
g:AddCard(rc)
local ac=Duel.GetAttackTarget()
g:AddCard(ac)
Duel.SendtoGrave(g,REASON_COST)
Duel.SpecialSummon(c,SUMMON_TYPE_SYNCHRO,tp,tp,false,false,POS_FACEUP)
c:CompleteProcedure()
end
end
--
function c60152001.filter2(c,tp,sc)
return c:IsControler(tp) and c:IsLocation(LOCATION_ONFIELD) and Duel.GetLocationCountFromEx(tp,tp,c,sc)>0 and c:IsAbleToGraveAsCost()
end
function c60152001.con2(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c60152001.filter2,1,nil,tp,e:GetHandler()) and Duel.IsExistingMatchingCard(c60152001.filter1,tp,LOCATION_HAND,0,1,nil) and e:GetHandler():IsCanBeSpecialSummoned(e,SUMMON_TYPE_SYNCHRO,tp,false,false)
end
function c60152001.op2(e,tp,eg,ep,ev,re,r,rp,c)
if not ( eg:IsExists(c60152001.filter2,1,nil,tp,e:GetHandler()) and Duel.IsExistingMatchingCard(c60152001.filter1,tp,LOCATION_HAND,0,1,nil) and e:GetHandler():IsCanBeSpecialSummoned(e,SUMMON_TYPE_SYNCHRO,tp,false,false) ) then return end
if Duel.SelectYesNo(tp,aux.Stringid(60152001,0)) then
local c=e:GetHandler()
Duel.Hint(HINT_CARD,0,60152001)
local g=Group.CreateGroup()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local rc=Duel.SelectMatchingCard(tp,c60152001.filter1,tp,LOCATION_HAND,0,1,1,nil):GetFirst()
g:AddCard(rc)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local ac=eg:FilterSelect(tp,c60152001.filter2,1,1,nil,tp,c):GetFirst()
g:AddCard(ac)
Duel.SendtoGrave(g,REASON_COST)
Duel.SpecialSummon(c,SUMMON_TYPE_SYNCHRO,tp,tp,false,false,POS_FACEUP)
c:CompleteProcedure()
end
end
--
function c60152001.con3(e,tp,eg,ep,ev,re,r,rp)
local d=Duel.GetAttackTarget()
return d and d:IsControler(tp)
end
function c60152001.tg3(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 end
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,1,1-tp,500)
end
function c60152001.op3(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)==0 then return end
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
local ots=c:GetSequence()
if ots==5 then ots=1 end
if ots==6 then ots=3 end
local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,0,0)
local nseq=0
if s==1 then nseq=0
elseif s==2 then nseq=1
elseif s==4 then nseq=2
elseif s==8 then nseq=3
else nseq=4 end
Duel.MoveSequence(e:GetHandler(),nseq)
local pts=c:GetSequence()
local dam=math.abs(ots-pts)*500
Duel.NegateAttack()
if dam>0 then
Duel.Damage(1-tp,dam,REASON_EFFECT)
end
end
--
function c60152001.filter4(c,tp)
return c:IsControler(tp) and c:IsLocation(LOCATION_MZONE)
end
function c60152001.con4(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c60152001.filter4,1,nil,tp)
end
function c60152001.tg4(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsChainDisablable(ev) end
Duel.SetOperationInfo(0,CATEGORY_DISABLE,eg,1,0,0)
end
function c60152001.op4(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)==0 then return end
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
local ots=c:GetSequence()
if ots==5 then ots=1 end
if ots==6 then ots=3 end
local s=Duel.SelectDisableField(tp,1,LOCATION_MZONE,0,0)
local nseq=0
if s==1 then nseq=0
elseif s==2 then nseq=1
elseif s==4 then nseq=2
elseif s==8 then nseq=3
else nseq=4 end
Duel.MoveSequence(e:GetHandler(),nseq)
local pts=c:GetSequence()
local dam=math.abs(ots-pts)*500
if Duel.NegateEffect(ev) then
if dam>0 then
Duel.Damage(1-tp,dam,REASON_EFFECT)
end
end
end
--菲萨莉斯✿引魂人形
require "expansions/script/nef/darksyn"
function c60152003.initial_effect(c)
--dark synchro summon
c:EnableReviveLimit()
DS.AddDarkSynchroProcedure(c,nil,nil,nil)
DS.DarkSynLimit(c)
--code
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_CHANGE_CODE)
e0:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e0:SetRange(LOCATION_EXTRA+LOCATION_ONFIELD+LOCATION_GRAVE+LOCATION_REMOVED)
e0:SetValue(30002)
c:RegisterEffect(e0)
--exbattle
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e1:SetCode(EVENT_CHAINING)
e1:SetRange(LOCATION_EXTRA)
e1:SetCondition(c60152003.con1)
e1:SetOperation(c60152003.op1)
c:RegisterEffect(e1)
--movedis
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(60152003,1))
e2:SetCategory(CATEGORY_NEGATE+CATEGORY_DAMAGE)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_CHAINING)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,60152003)
e2:SetCondition(c60152003.con2)
e2:SetTarget(c60152003.tg2)
e2:SetOperation(c60152003.op2)
c:RegisterEffect(e2)
--special summon
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(60152003,2))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,60152004)
e3:SetTarget(c60152003.tg3)
e3:SetOperation(c60152003.op3)
c:RegisterEffect(e3)
end
--
function c60152003.filter1(c)
return c:IsCode(74561003) and c:IsPublic() and c:IsAbleToGraveAsCost()
end
function c60152003.con1(e,tp,eg,ep,ev,re,r,rp)
return (re:IsActiveType(TYPE_SPELL) or re:IsActiveType(TYPE_TRAP)) and re:IsHasType(EFFECT_TYPE_ACTIVATE)
end
function c60152003.op1(e,tp,eg,ep,ev,re,r,rp,c)
local tc=re:GetHandler()
if not ( tc and tc:IsAbleToGraveAsCost() and Duel.IsExistingMatchingCard(c60152003.filter1,tp,LOCATION_HAND,0,1,nil) and Duel.GetLocationCountFromEx(tp,tp,tc,e:GetHandler())>0 and e:GetHandler():IsCanBeSpecialSummoned(e,SUMMON_TYPE_SYNCHRO,tp,false,false)) then return end
if Duel.SelectYesNo(tp,aux.Stringid(60152003,0) ) then
local c=e:GetHandler()
Duel.Hint(HINT_CARD,0,60152003)
local g=Group.CreateGroup()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local rc=Duel.SelectMatchingCard(tp,c60152003.filter1,tp,LOCATION_HAND,0,1,1,nil):GetFirst()
g:AddCard(rc)
local ac=re:GetHandler()
g:AddCard(ac)
Duel.SendtoGrave(g,REASON_COST)
Duel.SpecialSummon(c,SUMMON_TYPE_SYNCHRO,tp,tp,false,false,POS_FACEUP)
c:CompleteProcedure()
end
end
--
function c60152003.con2(e,tp,eg,ep,ev,re,r,rp)
return rp==1-tp and (re:IsActiveType(TYPE_SPELL) or re:IsActiveType(TYPE_TRAP)) and re:IsHasType(EFFECT_TYPE_ACTIVATE)
end
function c60152003.tg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsChainNegatable(ev) end
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
local g=Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)
local dam=g*200
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,1,1-tp,dam)
end
function c60152003.op2(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)
local dam=g*200
if Duel.NegateActivation(ev) then
if dam>0 then
Duel.Damage(1-tp,dam,REASON_EFFECT)
end
end
end
--
function c60152003.filter3(c,e,tp)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsLevelBelow(5)
end
function c60152003.tg3(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and c60152003.filter3(chkc,e,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingTarget(c60152003.filter3,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectTarget(tp,c60152003.filter3,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
end
function c60152003.op3(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
--ex limit
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(c60152003.exlimit)
e1:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TURN_SET)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
c:RegisterEffect(e2)
local e3=e1:Clone()
e3:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
c:RegisterEffect(e3)
local e4=e1:Clone()
e4:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
c:RegisterEffect(e4)
end
end
function c60152003.exlimit(e,c)
if not c then return false end
return not c:IsLevel(5)
end
--信仰的大丰收✿洩矢诹访子
function c60153001.initial_effect(c)
--fusion material
c:EnableReviveLimit()
Fus.AddFusionProcFun2(c,aux.FilterBoolFunction(Card.IsFusionSetCard,0x497,0x499),aux.FilterBoolFunction(c60153001.fusfilter),true)
--atkdown
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetRange(LOCATION_MZONE)
e1:SetTargetRange(0,LOCATION_MZONE)
e1:SetValue(c60153001.atkval)
c:RegisterEffect(e1)
--release
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(60153001,0))
e2:SetCategory(CATEGORY_RELEASE)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,60153001)
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e2:SetTarget(c60153001.destg)
e2:SetOperation(c60153001.desop)
c:RegisterEffect(e2)
--grave
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(60153001,1))
e3:SetCategory(CATEGORY_COUNTER+CATEGORY_SPECIAL_SUMMON+CATEGORY_LEAVE_GRAVE)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_GRAVE)
e3:SetCountLimit(1,60153002)
e3:SetCost(c60153001.rmcost)
e3:SetTarget(c60153001.rmtg)
e3:SetOperation(c60153001.rmop)
c:RegisterEffect(e3)
--counter
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e4:SetCode(EVENT_SPSUMMON_SUCCESS)
e4:SetRange(LOCATION_MZONE)
e4:SetCondition(c60153001.ccon)
e4:SetOperation(c60153001.cop)
c:RegisterEffect(e4)
end
--
c60153001.material_setcode=0x497,0x499
--
function c60153001.fusfilter(c)
return c:GetCounter(0x128a)>0
end
--
function c60153001.atkval(e,c)
return Duel.GetCounter(e:GetHandler(),1,1,0x128a)*-200
end
--
function c60153001.desfilter1(c)
return Duel.IsExistingMatchingCard(Card.IsReleasable,0,LOCATION_ONFIELD,LOCATION_ONFIELD,1,c) and c:IsReleasable()
end
function c60153001.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c60153001.desfilter1,tp,LOCATION_ONFIELD,0,1,nil) end
local g=Duel.GetMatchingGroup(nil,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
Duel.SetOperationInfo(0,CATEGORY_RELEASE,g,2,0,0)
end
function c60153001.desop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g1=Duel.SelectMatchingCard(tp,c60153001.desfilter1,tp,LOCATION_ONFIELD,0,1,1,nil)
if #g1==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g2=Duel.SelectMatchingCard(tp,Card.IsReleasable,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,g1)
g1:Merge(g2)
Duel.HintSelection(g1)
Duel.Release(g1,REASON_EFFECT)
end
--
function c60153001.rmcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsCanRemoveCounter(tp,1,0,0x128a,2,REASON_COST) end
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
Duel.RemoveCounter(tp,1,0,0x128a,2,REASON_COST)
end
function c60153001.rmtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
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+CATEGORY_LEAVE_GRAVE,e:GetHandler(),1,0,0)
end
function c60153001.rmop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
end
--
function c60153001.cfilter(c,sp)
return c:GetSummonPlayer()==sp
end
function c60153001.ccon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c60153001.cfilter,1,nil,1-tp)
end
function c60153001.cop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local sg=eg:Filter(c60153001.cfilter,nil,1-tp)
local tc=sg:GetFirst()
while tc do
if tc:IsFaceup() then
tc:AddCounter(0x128a,1)
end
tc=sg:GetNext()
end
end
--天使降临到我身边
local Cardno=74562041
local cCardno=_G["c"..Cardno]
function cCardno.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(Cardno,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCondition(cCardno.spcon)
e1:SetCost(cCardno.cost)
e1:SetTarget(cCardno.target)
e1:SetOperation(cCardno.activate)
c:RegisterEffect(e1)
--to hand
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(Cardno,0))
e2:SetCategory(CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetCost(cCardno.thcost)
e2:SetTarget(cCardno.thtg)
e2:SetOperation(cCardno.thop)
c:RegisterEffect(e2)
Duel.AddCustomActivityCounter(Cardno,ACTIVITY_SPSUMMON,cCardno.nsplimit)
end
function cCardno.nsplimit(c)
return c:IsRace(RACE_FAIRY)
end
--to hand
function cCardno.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToRemoveAsCost() end
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_COST)
end
function cCardno.thfilter(c)
return c:IsType(TYPE_MONSTER) and c:IsLevel(1,12) and c:IsRace(RACE_FAIRY) and c:IsAbleToHand()
end
function cCardno.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cCardno.thfilter,tp,LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE)
end
function cCardno.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,cCardno.thfilter,tp,LOCATION_GRAVE,0,1,4,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
--Activate
function cCardno.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCustomActivityCount(Cardno,tp,ACTIVITY_SPSUMMON)==0
end
function cCardno.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
--oath effects
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTargetRange(1,0)
e1:SetLabelObject(e)
e1:SetTarget(cCardno.sumlimit)
Duel.RegisterEffect(e1,tp)
end
function cCardno.sumlimit(e,c,sump,sumtype,sumpos,targetp,se)
return not c:IsRace(RACE_FAIRY)
end
function cCardno.filter(c,e,tp)
return c:IsType(TYPE_MONSTER) and c:IsRace(RACE_FAIRY) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and
(
(c:IsLevel(12) and c:IsAttribute(ATTRIBUTE_DARK))
or
(c:IsLevel(12) and c:IsAttribute(ATTRIBUTE_EARTH))
)
end
function cCardno.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cCardno.filter,tp,LOCATION_DECK,0,2,nil,e,tp) and Duel.GetMZoneCount(tp)>1 end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,0)
end
function cCardno.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local mz=Duel.GetMZoneCount(tp)
local mg=Duel.GetMatchingGroup(cCardno.filter,tp,LOCATION_DECK,0,nil,e,tp)
if mg:GetCount()<2 or mz<2 then return end
local sg=mg:Select(tp,2,2,nil)
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
end
\ No newline at end of file
--帕秋莉人形✿
function c86379049.initial_effect(c)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_HAND)
e1:SetValue(1)
e1:SetCondition(c86379049.spcon)
e1:SetOperation(c86379049.spop)
c:RegisterEffect(e1)
--tohand
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(86379049,1))
e2:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,86379049)
e2:SetCost(c86379049.cost)
e2:SetTarget(c86379049.thtg)
e2:SetOperation(c86379049.thop)
c:RegisterEffect(e2)
--special summon
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(86379049,2))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,86379049)
e3:SetCost(c86379049.cost)
e3:SetTarget(c86379049.dotg)
e3:SetOperation(c86379049.doop)
c:RegisterEffect(e3)
--change
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(86379049,3))
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetRange(LOCATION_MZONE)
e4:SetCountLimit(1,86379049)
e4:SetCost(c86379049.cost)
e4:SetOperation(c86379049.chop)
c:RegisterEffect(e4)
end
--
function c86379049.spfilter(c)
return c:IsSetCard(0x177) and c:IsReleasable() and c:IsType(TYPE_SPELL)
end
function c86379049.spcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c86379049.spfilter,tp,LOCATION_ONFIELD,0,1,c)
end
function c86379049.spop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g1=Duel.SelectMatchingCard(tp,c86379049.spfilter,tp,LOCATION_ONFIELD,0,1,1,c)
Duel.Release(g1,REASON_COST)
end
--
function c86379049.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLPCost(tp,700) end
Duel.PayLPCost(tp,700)
end
--
function c86379049.thfilter(c)
return c:IsAbleToHand() and c:IsSetCard(0xb046) and c:IsType(TYPE_SPELL)
end
function c86379049.thfilter2(c)
return c:IsDiscardable() and c:IsSetCard(0x177)
end
function c86379049.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c86379049.thfilter,tp,LOCATION_DECK,0,1,nil) and Duel.IsExistingMatchingCard(c86379049.thfilter2,tp,LOCATION_HAND,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND+CATEGORY_SEARCH,nil,1,tp,LOCATION_DECK)
end
function c86379049.thop(e,tp,eg,ep,ev,re,r,rp)
if Duel.IsExistingMatchingCard(c86379049.thfilter2,tp,LOCATION_HAND,0,1,nil) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISCARD)
local g1=Duel.SelectMatchingCard(tp,c86379049.thfilter2,tp,LOCATION_HAND,0,1,1,nil)
if g1:GetCount()>0 then
Duel.SendtoGrave(g1,REASON_EFFECT+REASON_DISCARD)
end
if Duel.IsExistingMatchingCard(c86379049.thfilter,tp,LOCATION_DECK,0,1,nil) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c86379049.thfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
end
end
--
function c86379049.tfilter1(c,e,tp)
return c:IsSetCard(0x111) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c86379049.dotg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c86379049.tfilter1,tp,LOCATION_GRAVE,0,1,nil,e,tp) and e:GetHandler():IsReleasable() end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
end
function c86379049.doop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
if Duel.Release(e:GetHandler(),REASON_EFFECT)>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c86379049.tfilter1,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
end
--
function c86379049.chop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetRange(LOCATION_MZONE)
e1:SetTargetRange(LOCATION_SZONE,0)
e1:SetCode(EFFECT_ADD_SETCODE)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTarget(c86379049.chtg)
e1:SetValue(0x178)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE+RESET_PHASE+PHASE_END)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetValue(0x179)
c:RegisterEffect(e2)
local e3=e1:Clone()
e3:SetValue(0x180)
c:RegisterEffect(e3)
local e4=e1:Clone()
e4:SetValue(0x181)
c:RegisterEffect(e4)
local e5=e1:Clone()
e5:SetValue(0x182)
c:RegisterEffect(e5)
end
function c86379049.chtg(e,c)
return c:IsSetCard(0x177) and c:IsType(TYPE_SPELL) and c:IsType(TYPE_CONTINUOUS)
end
--动物灵✿蓝
function c86379102.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(86379102,0))
e1:SetCategory(CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c86379102.target)
e1:SetOperation(c86379102.activate)
c:RegisterEffect(e1)
--special summon
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(86379102,1))
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e2:SetRange(LOCATION_HAND)
e2:SetCondition(c86379102.spcon)
e2:SetOperation(c86379102.spop)
c:RegisterEffect(e2)
--special summon
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e3:SetCode(EFFECT_SPSUMMON_PROC)
e3:SetRange(LOCATION_HAND)
e3:SetOperation(c86379102.sprop)
c:RegisterEffect(e3)
--draw
local e4=Effect.CreateEffect(c)
e4:SetCategory(CATEGORY_TODECK+CATEGORY_DRAW+CATEGORY_TOHAND)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e4:SetCode(EVENT_TO_HAND)
e4:SetTarget(c86379102.drtg)
e4:SetOperation(c86379102.drop)
c:RegisterEffect(e4)
end
--
function c86379102.filter(c,tp)
return c:IsSetCard(0x606) and c:IsType(TYPE_XYZ) and (c:GetOverlayGroup():IsExists(Card.IsAbleToHand,1,nil,tp) or c:GetOverlayGroup():IsExists(Card.IsAbleToHand,1,nil,1-tp))
end
function c86379102.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,86379102)<3
and Duel.IsExistingMatchingCard(c86379102.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil,tp) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_OVERLAY)
end
function c86379102.activate(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetFlagEffect(tp,86379102)>=3 then return end
Duel.RegisterFlagEffect(tp,86379102,RESET_PHASE+PHASE_END,0,1)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local g=Duel.SelectMatchingCard(tp,c86379102.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil,tp)
if g:GetCount()>0 then
local off=1
local ops={}
local opval={}
local og=g:GetFirst():GetOverlayGroup()
if og:IsExists(Card.IsAbleToHand,1,nil,tp) then
ops[off]=aux.Stringid(86379102,2)
opval[off-1]=1
off=off+1
end
if og:IsExists(Card.IsAbleToHand,1,nil,1-tp) then
ops[off]=aux.Stringid(86379102,3)
opval[off-1]=2
off=off+1
end
local op=Duel.SelectOption(tp,table.unpack(ops))
local sel=opval[op]
if sel==1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local tc=g:GetFirst():GetOverlayGroup():FilterSelect(tp,Card.IsAbleToHand,1,1,nil,tp)
Duel.SendtoHand(tc,tp,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
end
if sel==2 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local tc=g:GetFirst():GetOverlayGroup():FilterSelect(tp,Card.IsAbleToHand,1,1,nil,1-tp)
Duel.SendtoHand(tc,1-tp,REASON_EFFECT)
Duel.ConfirmCards(tp,tc)
end
end
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
c:CancelToGrave()
Duel.SendtoDeck(c,1-tp,2,REASON_EFFECT)
if c:IsLocation(LOCATION_DECK) then
c:ReverseInDeck()
end
end
end
--
function c86379102.spfilter(c)
return c:IsSetCard(0x606) and c:IsAbleToRemove()
end
function c86379102.spfilter2(c)
return c:IsSetCard(0x606) and c:IsFaceup()
end
function c86379102.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp and (Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2) and Duel.GetCurrentChain()==0 and Duel.IsPlayerCanSpecialSummonMonster(tp,86379102,0x208,TYPE_MONSTER+TYPE_NORMAL,1600,1600,0,0,0) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and (Duel.GetMatchingGroupCount(c86379102.spfilter,tp,LOCATION_DECK,0,e:GetHandler())>0 or Duel.GetMatchingGroupCount(c86379102.spfilter2,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)>0)
end
function c86379102.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.IsPlayerCanSpecialSummonMonster(tp,86379102,0x208,TYPE_MONSTER+TYPE_NORMAL,1600,1600,0,0,0) then
c:AddMonsterAttribute(TYPE_NORMAL)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_TYPE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetValue(TYPE_NORMAL+TYPE_MONSTER)
e1:SetReset(RESET_EVENT+0x47c0000)
c:RegisterEffect(e1,true)
local e2=e1:Clone()
e2:SetCode(EFFECT_REMOVE_RACE)
e2:SetValue(RACE_ALL)
c:RegisterEffect(e2,true)
local e3=e1:Clone()
e3:SetCode(EFFECT_REMOVE_ATTRIBUTE)
e3:SetValue(0xff)
c:RegisterEffect(e3,true)
local e4=e1:Clone()
e4:SetCode(EFFECT_SET_BASE_ATTACK)
e4:SetValue(1600)
c:RegisterEffect(e4,true)
local e5=e1:Clone()
e5:SetCode(EFFECT_SET_BASE_DEFENSE)
e5:SetValue(1600)
c:RegisterEffect(e5,true)
c:SetStatus(STATUS_NO_LEVEL,true)
Duel.SpecialSummonRule(c:GetControler(),c)
end
end
function c86379102.sprop(e,tp,eg,ep,ev,re,r,rp,c)
if Duel.GetMatchingGroupCount(c86379102.spfilter2,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)<=0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c86379102.spfilter,tp,LOCATION_DECK,0,1,1,c)
Duel.Remove(g,POS_FACEUP,REASON_COST)
end
end
--
function c86379102.drfilter(c)
return c:IsSetCard(0x606) and c:IsAbleToHand()
end
function c86379102.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():GetControler()~=e:GetHandler():GetOwner() end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,e:GetHandler(),1,0,0)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,0,tp,3)
end
function c86379102.drop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SendtoHand(c,1-tp,REASON_EFFECT)
Duel.Draw(tp,1,REASON_EFFECT)
end
local t={86379074,86379076,86379078}
local count=1
local g=Group.CreateGroup()
while count<=#t do
local token=Duel.CreateToken(1-tp,t[count])
g:AddCard(token)
count=count+1
end
if g:GetCount()>0 then
Duel.SendtoDeck(g,tp,2,REASON_EFFECT)
end
end
--爱丽丝的碎忆梦镜
function c86379104.initial_effect(c)
--Activate
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e0)
--toszone
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_SZONE)
e1:SetCountLimit(1)
e1:SetTarget(c86379104.tstg)
e1:SetOperation(c86379104.tsop)
c:RegisterEffect(e1)
end
--
function c86379104.tsfilter(c)
return c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsAbleToHand() and c:IsSetCard(0x300)
end
function c86379104.tsfilter2(c,code)
return c:IsReleasable() and c:IsCode(code)
end
function c86379104.tstg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
end
function c86379104.tsop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local code=c:GetCode()
if not c:IsRelateToEffect(e) then return end
local off=1
local ops={}
local opval={}
ops[off]=aux.Stringid(86379104,0)
opval[off-1]=1
off=off+1
if Duel.IsExistingMatchingCard(c86379104.tsfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,nil) and Duel.IsExistingMatchingCard(c86379104.tsfilter2,tp,LOCATION_ONFIELD,0,1,c,code) then
ops[off]=aux.Stringid(86379104,1)
opval[off-1]=2
off=off+1
end
local op=Duel.SelectOption(tp,table.unpack(ops))
local sel=opval[op]
if sel==1 then
local ac=Duel.AnnounceCard(tp,0x300,OPCODE_ISSETCARD,TYPE_MONSTER,OPCODE_ISTYPE,OPCODE_AND,code,OPCODE_ISCODE,OPCODE_NOT,OPCODE_AND)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetCode(EFFECT_CHANGE_CODE)
e1:SetValue(ac)
c:RegisterEffect(e1)
end
if sel==2 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g1=Duel.SelectMatchingCard(tp,c86379104.tsfilter2,tp,LOCATION_ONFIELD,0,1,1,c,code)
if g1:GetCount()>0 then
if Duel.Release(g1,REASON_EFFECT)~=0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g2=Duel.SelectMatchingCard(tp,c86379104.tsfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,1,1,nil)
if g2:GetCount()>0 then
Duel.SendtoHand(g2,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g2)
end
end
end
end
end
--地狱口岸的护卫✿庭渡久侘歌
function c86379297.initial_effect(c)
--attack
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(86379297,0))
e1:SetCategory(CATEGORY_REMOVE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,86379297)
e1:SetTarget(c86379297.target)
e1:SetOperation(c86379297.activate)
c:RegisterEffect(e1)
--send
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e4:SetRange(LOCATION_MZONE)
e4:SetCode(EFFECT_SEND_REPLACE)
--e4:SetCondition(c86379297.repcon)
e4:SetTarget(c86379297.reptg)
e4:SetValue(c86379297.repval)
c:RegisterEffect(e4)
end
--
function c86379297.filter1(c)
return c:IsFaceup() and c:IsHasEffect(EFFECT_CANNOT_ATTACK) and c:IsAbleToRemove() and not c:IsType(TYPE_TOKEN)
end
function c86379297.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c86379297.filter1(chkc) end
if chk==0 then return Duel.IsExistingTarget(c86379297.filter1,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local g=Duel.SelectTarget(tp,c86379297.filter1,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,1,0,0)
end
function c86379297.activate(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if not tc:IsRelateToEffect(e) then return end
if Duel.Remove(tc,POS_FACEUP,REASON_EFFECT+REASON_TEMPORARY)~=0 then
tc:RegisterFlagEffect(86379297,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_CHAIN_END)
e1:SetReset(RESET_EVENT+PHASE_END)
e1:SetLabelObject(tc)
e1:SetCountLimit(1)
e1:SetCondition(c86379297.retcon)
e1:SetOperation(c86379297.retop)
Duel.RegisterEffect(e1,tp)
end
end
function c86379297.retcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetLabelObject():GetFlagEffect(86379297)~=0
end
function c86379297.retop(e,tp,eg,ep,ev,re,r,rp)
Duel.ReturnToField(e:GetLabelObject())
local e7=Effect.CreateEffect(e:GetLabelObject())
e7:SetType(EFFECT_TYPE_SINGLE)
e7:SetCode(EFFECT_DIRECT_ATTACK)
e7:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END)
e:GetLabelObject():RegisterEffect(e7)
e:Reset()
end
--
function c86379297.desfilter(c)
return c:IsFaceup() and c:IsSetCard(0x740)
end
function c86379297.repcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c86379297.desfilter,tp,LOCATION_ONFIELD+LOCATION_GRAVE,LOCATION_ONFIELD+LOCATION_GRAVE,1,nil)
end
function c86379297.repfilter(c,tp)
return c:GetDestination()==LOCATION_GRAVE and c:IsLocation(LOCATION_ONFIELD)
end
function c86379297.reptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return eg:IsExists(c86379297.repfilter,1,nil,tp) end
local hg=eg:Filter(c86379297.repfilter,nil,tp)
Duel.HintSelection(hg)
if Duel.SelectYesNo(tp,aux.Stringid(86379297,1)) then
local g=eg:Filter(c86379297.repfilter,nil,tp)
local ct=g:GetCount()
if ct>1 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
g=g:Select(tp,1,ct,nil)
end
local tc=g:GetFirst()
while tc do
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_TO_GRAVE_REDIRECT)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(LOCATION_REMOVED)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1)
tc=g:GetNext()
end
return true
else return false end
end
function c86379297.repval(e,c)
return false
end
--冥河水中的牛鬼✿牛崎润美
function c86379299.initial_effect(c)
--tohand
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(86379299,0))
e1:SetCategory(CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1,86379299)
e1:SetCost(c86379299.cost)
e1:SetTarget(c86379299.tg)
e1:SetOperation(c86379299.op)
c:RegisterEffect(e1)
--to grave
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(86379299,1))
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_TO_GRAVE)
e2:SetTarget(c86379299.target)
e2:SetOperation(c86379299.operation)
c:RegisterEffect(e2)
end
--
function c86379299.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLPCost(tp,600) end
Duel.PayLPCost(tp,600)
end
function c86379299.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
end
function c86379299.op(e,tp,eg,ep,ev,re,r,rp)
local token=Duel.CreateToken(tp,86379300)
Duel.SendtoHand(token,1-tp,REASON_EFFECT)
end
--
function c86379299.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
end
function c86379299.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.CreateToken(tp,86379315)
Duel.MoveToField(tc,tp,tp,LOCATION_FZONE,POS_FACEUP,true)
end
--石之婴儿
function c86379300.initial_effect(c)
--
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_PUBLIC)
e1:SetRange(LOCATION_HAND)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CANNOT_USE_AS_COST)
e2:SetRange(LOCATION_HAND)
e2:SetValue(1)
c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EFFECT_UNRELEASABLE_EFFECT)
c:RegisterEffect(e3)
local e4=e2:Clone()
e4:SetCode(EFFECT_UNRELEASABLE_NONSUM)
c:RegisterEffect(e4)
local e5=e2:Clone()
e5:SetCode(EFFECT_UNRELEASABLE_SUM)
c:RegisterEffect(e5)
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_SINGLE)
e6:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e6:SetRange(LOCATION_HAND)
e6:SetCode(EFFECT_IMMUNE_EFFECT)
e6:SetValue(c86379300.efilter)
c:RegisterEffect(e6)
--
local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e7:SetCode(EVENT_TO_HAND)
e7:SetRange(LOCATION_HAND)
e7:SetCondition(c86379300.condition)
e7:SetOperation(c86379300.operation)
c:RegisterEffect(e7)
end
--
function c86379300.efilter(e,te)
return not te:GetHandler():IsCode(Cardno)
end
--
function c86379300.cfilter(c,tp)
return c:IsControler(tp)
end
function c86379300.cfilter2(c)
return c:IsAbleToGrave() and not c:IsCode(86379300)
end
function c86379300.cfilter3(c)
return c:IsFaceup() and c:IsCode(86379315)
end
function c86379300.condition(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c86379300.cfilter,1,nil,tp) and Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)>6 and Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)~=Duel.GetMatchingGroupCount(Card.IsCode,tp,LOCATION_HAND,0,nil,86379300) and Duel.IsExistingMatchingCard(c86379300.cfilter3,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil)
end
function c86379300.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,0,86379300)
local t=1
while t>0 do
local ct=Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)
local st=Duel.GetMatchingGroupCount(Card.IsCode,tp,LOCATION_HAND,0,nil,86379300)
if ct==st then
t=0
end
if t>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c86379300.cfilter2,tp,LOCATION_HAND,0,1,1,nil)
Duel.SendtoGrave(g,REASON_EFFECT)
if Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)<=6 then
t=0
end
end
end
end
--妖精☆勇者完美通关✿琪露诺LV9
function c99999062.initial_effect(c)
c:EnableReviveLimit()
--cannot special summon
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_SPSUMMON_CONDITION)
c:RegisterEffect(e1)
--special summon
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e2:SetRange(LOCATION_HAND)
e2:SetCondition(c99999062.spcon)
e2:SetOperation(c99999062.spop)
c:RegisterEffect(e2)
if not c99999062.global_check then
c99999062.global_check=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_BATTLE_DESTROYED)
ge1:SetOperation(c99999062.checkop)
Duel.RegisterEffect(ge1,0)
end
--control
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetRange(LOCATION_MZONE)
e4:SetCode(EFFECT_CANNOT_CHANGE_CONTROL)
c:RegisterEffect(e4)
--
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e5:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e5:SetRange(LOCATION_MZONE)
e5:SetValue(1)
c:RegisterEffect(e5)
--效果无效
local e6=Effect.CreateEffect(c)
e6:SetDescription(aux.Stringid(99999062,0))
e6:SetCategory(CATEGORY_NEGATE+CATEGORY_DESTROY)
e6:SetType(EFFECT_TYPE_QUICK_O)
e6:SetCode(EVENT_CHAINING)
e6:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e6:SetRange(LOCATION_MZONE)
e6:SetCondition(c99999062.condition)
e6:SetTarget(c99999062.target)
e6:SetOperation(c99999062.operation)
c:RegisterEffect(e6)
end
c99999062.lvup={99999020}
c99999062.lvdn={99999020,99999019}
function c99999062.checkop(e,tp,eg,ep,ev,re,r,rp)
local a=Duel.GetAttacker()
local at=Duel.GetAttackTarget()
if a:IsStatus(STATUS_BATTLE_DESTROYED) and at:IsStatus(STATUS_BATTLE_DESTROYED) then return end
local tc=a
if a:IsStatus(STATUS_BATTLE_DESTROYED) then tc=at end
tc:RegisterFlagEffect(99999062,RESET_EVENT+0x1fe0000,0,1)
end
function c99999062.spfilter(c)
return c:IsCode(99999021) and c:GetFlagEffect(99999062)>0
end
function c99999062.spcon(e,c)
if c==nil then return true end
return Duel.CheckReleaseGroup(c:GetControler(),c99999062.spfilter,1,nil)
end
function c99999062.spop(e,tp,eg,ep,ev,re,r,rp,c)
local g=Duel.SelectReleaseGroup(tp,c99999062.spfilter,1,1,nil)
Duel.Release(g,REASON_SPSUMMON)
end
function c99999062.condition(e,tp,eg,ep,ev,re,r,rp)
return rp==1-tp and re:IsActiveType(TYPE_MONSTER) and not e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) and Duel.IsChainNegatable(ev)
end
function c99999062.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
if re:GetHandler():IsDestructable() and re:GetHandler():IsRelateToEffect(re) then
Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,1,0,0)
end
end
function c99999062.operation(e,tp,eg,ep,ev,re,r,rp)
if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then
Duel.Destroy(eg,REASON_EFFECT)
end
end
--Our·ship
function c99999606.initial_effect(c)
--activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,99999606+EFFECT_COUNT_CODE_OATH)
e1:SetCost(c99999606.spcost)
e1:SetTarget(c99999606.sptg)
e1:SetOperation(c99999606.activate)
c:RegisterEffect(e1)
Duel.AddCustomActivityCounter(99999606,ACTIVITY_SPSUMMON,c99999606.counterfilter)
--remove
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e2:SetCode(EVENT_DESTROYED)
e2:SetCountLimit(1,99999607)
e2:SetTarget(c99999606.thtg)
e2:SetOperation(c99999606.thop)
c:RegisterEffect(e2)
end
--
function c99999606.filter(c)
return c:IsRace(RACE_SPELLCASTER) and c:IsLevelBelow(8) and c:IsAbleToRemove()
end
function c99999606.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c99999606.filter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,tp,LOCATION_DECK)
end
function c99999606.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c99999606.filter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.Remove(g,POS_FACEUP, REASON_EFFECT)
end
end
function c99999606.counterfilter(c)
return not c:IsLevelAbove(9)
end
function c99999606.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return c:IsLevelAbove(9)
end
function c99999606.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetCustomActivityCount(99999606,tp,ACTIVITY_SPSUMMON)==0 end
local e3=Effect.CreateEffect(e:GetHandler())
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e3:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e3:SetReset(RESET_PHASE+PHASE_END)
e3:SetTargetRange(1,0)
e3:SetTarget(c99999606.splimit)
Duel.RegisterEffect(e3,tp)
end
--
function c99999606.refl(c)
return c:IsSetCard(0x13e) and c:IsAbleToRemove()
end
function c99999606.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
end
function c99999606.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c99999606.refl,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.Remove(g,POS_FACEUP,REASON_EFFECT)
end
end
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