Commit a62e912a authored by POLYMER's avatar POLYMER

update 240819 std

parent 088d0845
......@@ -1164,7 +1164,6 @@
88881043 0
88881044 0
88881045 0
88881085 0
88881086 0
88990322 0
88990370 0
......@@ -5410,8 +5409,6 @@
4879029 0
4879032 0
4879034 0
4878137 0
4878139 0
82224056 0
88881043 0
88881044 0
......@@ -5715,7 +5712,6 @@
79250000 0
79250001 0
79250009 0
88881085 0
88881086 0
89410001 0
89412001 0
......@@ -5727,7 +5723,6 @@
87697576 0
146747 0
11570005 0
12844102 0
15000685 0
16670006 0
16670010 0
......@@ -5937,7 +5932,6 @@
4875111 0
4875218 0
15005304 0
22348406 0
22348416 0
87498770 0
29415121 0
......@@ -5998,7 +5992,6 @@
10111101 0
10111102 0
89390011 0
11579812 0
11579813 0
98941050 0
79250023 0
......@@ -6054,6 +6047,20 @@
98933014 0
57300400 0
87498743 0
89400000 0
89400001 0
89400002 0
89400003 0
89400004 0
89400005 0
89400006 0
89400007 0
10401400 0
11560720 0
11561013 0
40011374 0
53797067 0
64800180 0
#limit
33403513 1
82204250 0
......@@ -6345,6 +6352,7 @@
10105561 1
11451651 1
10150026 1
19001 1
#semi limit
9950623 2
9950045 2
......
No preview for this file type
expansions/pics/12847087.jpg

34.5 KB | W: | H:

expansions/pics/12847087.jpg

248 KB | W: | H:

expansions/pics/12847087.jpg
expansions/pics/12847087.jpg
expansions/pics/12847087.jpg
expansions/pics/12847087.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/12847088.jpg

248 KB | W: | H:

expansions/pics/12847088.jpg

248 KB | W: | H:

expansions/pics/12847088.jpg
expansions/pics/12847088.jpg
expansions/pics/12847088.jpg
expansions/pics/12847088.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/12847098.jpg

40.5 KB | W: | H:

expansions/pics/12847098.jpg

275 KB | W: | H:

expansions/pics/12847098.jpg
expansions/pics/12847098.jpg
expansions/pics/12847098.jpg
expansions/pics/12847098.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/12847099.jpg

38.3 KB | W: | H:

expansions/pics/12847099.jpg

248 KB | W: | H:

expansions/pics/12847099.jpg
expansions/pics/12847099.jpg
expansions/pics/12847099.jpg
expansions/pics/12847099.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/12852101.jpg

49.7 KB | W: | H:

expansions/pics/12852101.jpg

83.3 KB | W: | H:

expansions/pics/12852101.jpg
expansions/pics/12852101.jpg
expansions/pics/12852101.jpg
expansions/pics/12852101.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/12852102.jpg

53.2 KB | W: | H:

expansions/pics/12852102.jpg

89.8 KB | W: | H:

expansions/pics/12852102.jpg
expansions/pics/12852102.jpg
expansions/pics/12852102.jpg
expansions/pics/12852102.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/12852103.jpg

48.7 KB | W: | H:

expansions/pics/12852103.jpg

79 KB | W: | H:

expansions/pics/12852103.jpg
expansions/pics/12852103.jpg
expansions/pics/12852103.jpg
expansions/pics/12852103.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/12852104.jpg

45.1 KB | W: | H:

expansions/pics/12852104.jpg

72.5 KB | W: | H:

expansions/pics/12852104.jpg
expansions/pics/12852104.jpg
expansions/pics/12852104.jpg
expansions/pics/12852104.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/12852105.jpg

50.6 KB | W: | H:

expansions/pics/12852105.jpg

81.7 KB | W: | H:

expansions/pics/12852105.jpg
expansions/pics/12852105.jpg
expansions/pics/12852105.jpg
expansions/pics/12852105.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/12852106.jpg

193 KB | W: | H:

expansions/pics/12852106.jpg

66.1 KB | W: | H:

expansions/pics/12852106.jpg
expansions/pics/12852106.jpg
expansions/pics/12852106.jpg
expansions/pics/12852106.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/12852107.jpg

47.6 KB | W: | H:

expansions/pics/12852107.jpg

78.1 KB | W: | H:

expansions/pics/12852107.jpg
expansions/pics/12852107.jpg
expansions/pics/12852107.jpg
expansions/pics/12852107.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/12852108.jpg

48.2 KB | W: | H:

expansions/pics/12852108.jpg

78.5 KB | W: | H:

expansions/pics/12852108.jpg
expansions/pics/12852108.jpg
expansions/pics/12852108.jpg
expansions/pics/12852108.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53761004.jpg

37.4 KB | W: | H:

expansions/pics/53761004.jpg

176 KB | W: | H:

expansions/pics/53761004.jpg
expansions/pics/53761004.jpg
expansions/pics/53761004.jpg
expansions/pics/53761004.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/53761005.jpg

28.4 KB | W: | H:

expansions/pics/53761005.jpg

138 KB | W: | H:

expansions/pics/53761005.jpg
expansions/pics/53761005.jpg
expansions/pics/53761005.jpg
expansions/pics/53761005.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/60010029.jpg

48.9 KB | W: | H:

expansions/pics/60010029.jpg

29.7 KB | W: | H:

expansions/pics/60010029.jpg
expansions/pics/60010029.jpg
expansions/pics/60010029.jpg
expansions/pics/60010029.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/71401008.jpg

242 KB | W: | H:

expansions/pics/71401008.jpg

49.8 KB | W: | H:

expansions/pics/71401008.jpg
expansions/pics/71401008.jpg
expansions/pics/71401008.jpg
expansions/pics/71401008.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/71401009.jpg

56 KB | W: | H:

expansions/pics/71401009.jpg

46.3 KB | W: | H:

expansions/pics/71401009.jpg
expansions/pics/71401009.jpg
expansions/pics/71401009.jpg
expansions/pics/71401009.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910200.jpg

52.1 KB | W: | H:

expansions/pics/9910200.jpg

51.9 KB | W: | H:

expansions/pics/9910200.jpg
expansions/pics/9910200.jpg
expansions/pics/9910200.jpg
expansions/pics/9910200.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910873.jpg

12.4 KB | W: | H:

expansions/pics/9910873.jpg

51.9 KB | W: | H:

expansions/pics/9910873.jpg
expansions/pics/9910873.jpg
expansions/pics/9910873.jpg
expansions/pics/9910873.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910898.jpg

12 KB | W: | H:

expansions/pics/9910898.jpg

46 KB | W: | H:

expansions/pics/9910898.jpg
expansions/pics/9910898.jpg
expansions/pics/9910898.jpg
expansions/pics/9910898.jpg
  • 2-up
  • Swipe
  • Onion skin
expansions/pics/9910905.jpg

49 KB | W: | H:

expansions/pics/9910905.jpg

46.2 KB | W: | H:

expansions/pics/9910905.jpg
expansions/pics/9910905.jpg
expansions/pics/9910905.jpg
expansions/pics/9910905.jpg
  • 2-up
  • Swipe
  • Onion skin
......@@ -37,9 +37,9 @@ function cm.initial_effect(c)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_FIELD)
e5:SetCode(EFFECT_ADD_CODE)
e5:SetTargetRange(0,LOCATION_ONFIELD)
e5:SetTargetRange(LOCATION_ONFIELD,LOCATION_ONFIELD)
e5:SetCondition(function(e) return e:GetHandler():GetSequence()<5 end)
e5:SetTarget(function(e,c) return aux.GetColumn(c) and math.abs(aux.GetColumn(c)-aux.GetColumn(e:GetHandler()))==0 end)
e5:SetTarget(function(e,c) return aux.GetColumn(c) and math.abs(aux.GetColumn(c)-aux.GetColumn(e:GetHandler()))==0 and c~=e:GetHandler() end)
e5:SetValue(11451631)
e5:SetRange(LOCATION_SZONE)
c:RegisterEffect(e5)
......
......@@ -96,7 +96,7 @@ function c11560706.daop(e,tp,eg,ep,ev,re,r,rp)
tc=tg:GetNext()
end
Duel.Hint(HINT_CARD,0,11560706)
Duel.Damage(1-tp,x*200,REASON_EFFECT)
Duel.Damage(1-tp,x*100,REASON_EFFECT)
end
function c11560706.seqcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
......
......@@ -4,7 +4,7 @@ local cm=_G["c"..m]
function cm.initial_effect(c)
--xyz summon
c:EnableReviveLimit()
aux.AddXyzProcedure(c,aux.FilterBoolFunction(Card.IsAttribute,ATTRIBUTE_LIGHT),8,3,c11561063.ovfilter,aux.Stringid(11561063,1),3,c11561063.xyzop)
aux.AddXyzProcedure(c,aux.FilterBoolFunction(Card.IsAttribute,ATTRIBUTE_LIGHT),8,3,c11561063.ovfilter,aux.Stringid(11561063,0),3,c11561063.xyzop)
--adjust
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
......@@ -139,10 +139,10 @@ function c11561063.spop(e,tp,eg,ep,ev,re,r,rp)
local sg=g:SelectSubGroup(tp,c11561063.gcheck,false,1,ft)
if sg:GetCount()>0 and Duel.SpecialSummon(sg,0,tp,1-tp,false,false,POS_FACEUP)~=0 then
local tc=Duel.GetOperatedGroup():GetCount()
if tc>0 and Duel.IsExistingMatchingCard(Card.IsCanOverlay,tp,0,LOCATION_ONFIELD,tc,nil) and c:IsRelateToEffect(e) then
if tc>0 and Duel.IsExistingMatchingCard(Card.IsCanOverlay,tp,0,LOCATION_ONFIELD,1,nil) and c:IsRelateToEffect(e) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL)
Duel.BreakEffect()
local xg=Duel.SelectMatchingCard(tp,Card.IsCanOverlay,tp,0,LOCATION_ONFIELD,tc,tc,nil)
local xg=Duel.SelectMatchingCard(tp,Card.IsCanOverlay,tp,0,LOCATION_ONFIELD,1,tc,nil)
local xtc=xg:GetFirst()
while xtc do
local og=xtc:GetOverlayGroup()
......
......@@ -3,7 +3,7 @@ function c11579814.initial_effect(c)
Duel.EnableGlobalFlag(GLOBALFLAG_DETACH_EVENT)
--xyz summon
c:EnableReviveLimit()
aux.AddXyzProcedureLevelFree(c,function(c,xyzc) return c:IsSetCard(0x180) end,nil,2,99)
aux.AddXyzProcedureLevelFree(c,function(c,xyzc) return c:IsXyzLevel(xyzc,2) or c:IsLink(2) or c:IsRank(2) end,nil,2,99)
--atk
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
......@@ -43,7 +43,7 @@ function c11579814.initial_effect(c)
c:RegisterEffect(e3)
end
function c11579814.effilter(c)
return c:IsType(TYPE_MONSTER) and (c:IsLevel(2) or c:IsRank(2) or c:IsLink(2))
return c:IsType(TYPE_MONSTER) and c:IsSetCard(0x180)
end
function c11579814.efop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -37,7 +37,7 @@ function s.sop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,s.sfilter,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,nil,tp)
if g:GetCount()>0 and Duel.SendtoGrave(g,REASON_EFFECT)~=0 then
if g:GetCount()>0 and Duel.SendtoGrave(g,REASON_EFFECT)~=0 and g:GetFirst():IsLocation(LOCATION_GRAVE) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local tohand=Duel.SelectMatchingCard(tp,s.thfilter,tp,LOCATION_DECK+LOCATION_GRAVE+LOCATION_REMOVED,0,1,1,nil)
if tohand:GetCount()>0 and Duel.SendtoHand(tohand,nil,REASON_EFFECT)~=0 then
......
--女仆教育
local m=12847022
local cm=_G["c"..m]
function cm.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,m+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(cm.target)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
--
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(m,1))
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_TRAP_ACT_IN_HAND)
e2:SetCondition(cm.handcon)
c:RegisterEffect(e2)
Duel.AddCustomActivityCounter(m,ACTIVITY_CHAIN,cm.chainfilter)
end
function cm.chainfilter(re,tp,cid)
return false
end
function cm.handcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCustomActivityCount(m,1-e:GetHandlerPlayer(),ACTIVITY_CHAIN)~=0
end
function cm.check(c)
return c:IsType(TYPE_MONSTER) and c:IsAbleToRemove()
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.check,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,tp,LOCATION_DECK)
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local rc=Duel.SelectMatchingCard(tp,cm.check,tp,LOCATION_DECK,0,1,1,nil):GetFirst()
local fid=c:GetFieldID()
if rc and Duel.Remove(rc,POS_FACEUP,REASON_EFFECT)>0 and e:IsHasType(EFFECT_TYPE_ACTIVATE) then
rc:RegisterFlagEffect(m,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_STANDBY+RESET_SELF_TURN,0,2,fid)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1)
e1:SetReset(RESET_PHASE+PHASE_END,1)
e1:SetLabel(fid,0)
e1:SetLabelObject(rc)
e1:SetCondition(cm.thcon)
e1:SetOperation(cm.thop)
Duel.RegisterEffect(e1,tp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetTargetRange(1,0)
e1:SetValue(cm.aclimit)
e1:SetLabel(rc:GetCode())
Duel.RegisterEffect(e1,tp)
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_TO_HAND)
e2:SetCondition(cm.smcon)
e2:SetOperation(cm.regop)
e2:SetLabelObject(e1)
e2:SetLabel(rc:GetCode())
Duel.RegisterEffect(e2,tp)
end
end
function cm.thcon(e,tp,eg,ep,ev,re,r,rp)
local fid=e:GetLabel()
local tc=e:GetLabelObject()
return tc:GetFlagEffectLabel(m)==fid
end
function cm.thop(e,tp,eg,ep,ev,re,r,rp)
local fid,ct=e:GetLabel()
local tc=e:GetLabelObject()
if tc:GetFlagEffectLabel(m)==fid then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
end
end
function cm.trigfilter(c,tp,code)
return c:IsCode(code) and c:IsControler(tp) and c:IsType(TYPE_MONSTER) and not c:IsReason(REASON_DRAW)
and not (c:IsPreviousLocation(LOCATION_ONFIELD) and c:IsPreviousPosition(POS_FACEDOWN) and not c:IsPublic())
and (not c:IsStatus(STATUS_TO_HAND_WITHOUT_CONFIRM) or (c:IsStatus(STATUS_TO_HAND_WITHOUT_CONFIRM) and c:IsPublic()))
end
function cm.smcon(e,tp,eg,ep,ev,re,r,rp)
local code=e:GetLabel()
return eg:IsExists(cm.trigfilter,1,nil,tp,code)
end
function cm.aclimit(e,re,tp)
return re:GetHandler():IsCode(e:GetLabel())
end
function cm.regop(e,tp,eg,ep,ev,re,r,rp)
e:GetLabelObject():Reset()
e:Reset()
end
\ No newline at end of file
......@@ -39,7 +39,7 @@ function c12852101.thfilter(c)
return c:IsAttribute(ATTRIBUTE_FIRE) and c:IsRace(RACE_WARRIOR) and c:IsLevelBelow(4) and c:IsAbleToHand()
end
function c12852101.thfilter1(c)
return (c:IsSetCard(0xa77) or aux.IsCodeListed(c,12852102)) and c:IsAbleToHand()
return (c:IsSetCard(0x3a78) or aux.IsCodeListed(c,12852102)) and c:IsAbleToHand()
end
function c12852101.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c12852101.thfilter,tp,LOCATION_DECK,0,1,nil) end
......
--艾妮丝王女
function c12852102.initial_effect(c)
aux.AddCodeList(c,12852102)
--Special Summon
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(12852102,1))
......@@ -24,7 +23,7 @@ function c12852102.initial_effect(c)
c:RegisterEffect(e12)
end
function c12852102.filter(c)
return c:IsSetCard(0xa77) and c:IsAbleToHand()
return c:IsSetCard(0x3a78) and c:IsAbleToHand()
end
function c12852102.sscon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c12852102.filter,tp,LOCATION_ONFIELD,0,1,nil)
......@@ -48,7 +47,7 @@ function c12852102.ssop(e,tp,eg,ep,ev,re,r,rp)
end
end
function c12852102.thfilter1(c)
return (c:IsSetCard(0xa77) or aux.IsCodeListed(c,12852102)) and c:IsAbleToHand()
return (c:IsSetCard(0x3a78) or c:IsCode(12852101)) and c:IsAbleToHand()
end
function c12852102.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c12852102.thfilter1,tp,LOCATION_DECK,0,1,nil) end
......
......@@ -19,7 +19,7 @@ function c12852106.cfilter1(c,tp)
return c:IsFaceup() and c:IsAttribute(ATTRIBUTE_WATER) and c:IsRace(RACE_SPELLCASTER) and Duel.IsExistingMatchingCard(c12852106.eqfilter,tp,LOCATION_DECK,0,1,nil,c,tp)
end
function c12852106.eqfilter(c,tc,tp)
return c:IsType(TYPE_EQUIP) and c:IsSetCard(0xa77) and c:CheckEquipTarget(tc) and c:CheckUniqueOnField(tp) and not c:IsForbidden()
return c:IsType(TYPE_EQUIP) and c:IsSetCard(0x3a78) and c:CheckEquipTarget(tc) and c:CheckUniqueOnField(tp) and not c:IsForbidden()
end
function c12852106.condition(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsExistingMatchingCard(c12852106.cfilter,tp,LOCATION_MZONE,0,1,nil)
......
......@@ -4,7 +4,8 @@ local cm=_G["c"..m]
function cm.initial_effect(c)
--link summon
c:EnableReviveLimit()
aux.AddLinkProcedure(c,nil,2,99,c22348313.lcheck)
--aux.AddLinkProcedure(c,nil,2,99,c22348313.lcheck)
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkType,TYPE_EFFECT),2)
--atkup
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
......@@ -80,7 +81,7 @@ function c22348313.imfilter(e,te)
end
function c22348313.descost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return c:IsAbleToRemoveAsCost() and c:IsAttackBelow(1500) end
if chk==0 then return c:IsAbleToRemoveAsCost() and c:IsAttackBelow(2000) end
if Duel.Remove(c,0,REASON_COST+REASON_TEMPORARY)~=0 then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
......
......@@ -3,7 +3,7 @@ local m=22348392
local cm=_G["c"..m]
function cm.initial_effect(c)
--link summon
aux.AddLinkProcedure(c,aux.FilterBoolFunction(Card.IsLinkType,TYPE_EFFECT),3)
aux.AddLinkProcedure(c,nil,2)
c:EnableReviveLimit()
--special summon
local e1=Effect.CreateEffect(c)
......@@ -117,7 +117,7 @@ function c22348392.remop(e,tp,eg,ep,ev,re,r,rp)
end
end
function c22348392.atkval(e,c)
return e:GetHandler():GetMaterialCount()*1000
return e:GetHandler():GetMaterialCount()*1200
end
function c22348392.gecon1(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(22348392)>0
......
......@@ -57,6 +57,7 @@ function cm.initial_effect(c)
c:RegisterEffect(e5)
end
aux.xyz_number[22348404]=107
function c22348404.ovfilter(c)
return c:IsFaceup() and c:IsRank(8) and c:IsRace(RACE_DRAGON) and c:IsType(TYPE_XYZ) and c:GetOverlayCount()==0
end
......
......@@ -39,13 +39,22 @@ function cm.initial_effect(c)
e4:SetRange(LOCATION_MZONE)
e4:SetCountLimit(1)
e4:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e4:SetCost(c22348418.setcost)
e4:SetTarget(c22348418.settg)
e4:SetOperation(c22348418.setop)
c:RegisterEffect(e4)
end
function c22348418.setcosfilter(c)
return c:IsCode(22348418) or c:IsCode(22348417)
end
function c22348418.setcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,c22348418.setcosfilter,1,nil) end
local g=Duel.SelectReleaseGroup(tp,c22348418.setcosfilter,1,1,nil)
Duel.Release(g,REASON_COST)
end
function c22348418.setfilter(c)
return c:IsFaceup() and c:IsCanTurnSet() and c:IsType(0x6)
return c:IsFaceup() and c:IsCanTurnSet()
end
function c22348418.settg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_ONFIELD) and chkc:IsControler(1-tp) and c22348418.setfilter(chkc) end
......@@ -65,7 +74,7 @@ function c22348418.atkfilter(c)
return c:IsCode(22348418) or c:IsCode(22348417)
end
function c22348418.val(e,c)
return Duel.GetMatchingGroupCount(c22348418.atkfilter,c:GetControler(),LOCATION_GRAVE,0,nil)*300
return Duel.GetMatchingGroupCount(c22348418.atkfilter,c:GetControler(),LOCATION_GRAVE,0,nil)*800
end
function c22348418.spfilter(c,e,tp)
return c:IsCode(22348417) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
......
--银河眼时空龙-重铠装
local m=22348421
local cm=_G["c"..m]
function cm.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,nil,8,3)
c:EnableReviveLimit()
--destroy replace
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCode(EFFECT_DESTROY_REPLACE)
e0:SetRange(LOCATION_EXTRA)
e0:SetCountLimit(1,22348421+EFFECT_COUNT_CODE_DUEL)
e0:SetTarget(c22348421.reptg)
e0:SetValue(c22348421.repval)
e0:SetOperation(c22348421.repop)
c:RegisterEffect(e0)
--indes
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCondition(c22348421.regcon)
e1:SetOperation(c22348421.regop)
c:RegisterEffect(e1)
--negate
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_QUICK_F)
e2:SetCode(EVENT_CHAINING)
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e2:SetRange(LOCATION_MZONE)
e2:SetCondition(c22348421.discon)
e2:SetOperation(c22348421.disop)
c:RegisterEffect(e2)
--destroy
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOEXTRA)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e3:SetCode(EVENT_PHASE+PHASE_END)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1)
e3:SetTarget(c22348421.stdtg)
e3:SetOperation(c22348421.stdop)
c:RegisterEffect(e3)
end
function c22348421.spfilter(c,e,tp)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsType(TYPE_MONSTER)
end
function c22348421.stdtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetOverlayGroup(tp,1,0):IsExists(c22348421.spfilter,1,nil,e,tp) and Duel.GetMZoneCount(tp)~=0 and e:GetHandler():IsAbleToExtra() end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_OVERLAY)
Duel.SetOperationInfo(0,CATEGORY_TOEXTRA,e:GetHandler(),1,0,0)
end
function c22348421.stdop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetOverlayGroup(tp,1,0):Filter(c22348421.spfilter,nil,e,tp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:Select(tp,1,1,nil)
if sg:GetCount()>0 and Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)~=0 and c:IsRelateToEffect(e) then
Duel.BreakEffect()
Duel.SendtoDeck(c,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
end
end
function c22348421.discon(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsStatus(STATUS_BATTLE_DESTROYED) then return false end
local ex,tg,tc=Duel.GetOperationInfo(ev,CATEGORY_DESTROY)
return ex and (tg~=nil or tc>0) and eg:GetFirst():IsCanOverlay()
end
function c22348421.disop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=eg:GetFirst()
if not tc:IsImmuneToEffect(e) then
local og=tc:GetOverlayGroup()
if og:GetCount()>0 then
Duel.SendtoGrave(og,REASON_RULE)
end
Duel.Overlay(c,Group.FromCards(tc))
end
end
function c22348421.filter(c,e,tp)
return c:IsControler(tp) and c:IsLocation(LOCATION_MZONE) and c:IsCanBeXyzMaterial(e:GetHandler())
and c:IsReason(REASON_BATTLE) and not c:IsReason(REASON_REPLACE) and Duel.GetLocationCountFromEx(tp,tp,c,e:GetHandler())>0
end
function c22348421.reptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return eg:IsExists(c22348421.filter,1,nil,e,tp) and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_XYZ,tp,false,false) end
if Duel.SelectEffectYesNo(tp,c,96) then
local g=eg:Filter(c22348421.filter,nil,e,tp)
Duel.SetTargetCard(g)
return true
else return false end
end
function c22348421.repval(e,c)
return c22348421.filter(c,e,e:GetHandlerPlayer())
end
function c22348421.repop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
local tc=g:GetFirst()
local c=e:GetHandler()
if not aux.MustMaterialCheck(tc,tp,EFFECT_MUST_BE_XMATERIAL) then return end
if c:IsControler(1-tp) then return end
local mg=tc:GetOverlayGroup()
if mg:GetCount()~=0 then
Duel.Overlay(c,mg)
end
c:SetMaterial(Group.FromCards(tc))
Duel.Overlay(c,Group.FromCards(tc))
Duel.SpecialSummon(c,SUMMON_TYPE_XYZ,tp,tp,false,false,POS_FACEUP)
c:CompleteProcedure()
end
function c22348421.regcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_XYZ)
end
function c22348421.regop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
c:RegisterEffect(e1)
end
......@@ -2,11 +2,12 @@
function c28315844.initial_effect(c)
--antica spsummon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DAMAGE)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,28315844)
e1:SetCost(c28315844.cost)
e1:SetCondition(c28315844.spcon)
e1:SetTarget(c28315844.sptg)
e1:SetOperation(c28315844.spop)
c:RegisterEffect(e1)
......@@ -24,28 +25,26 @@ function c28315844.initial_effect(c)
e2:SetOperation(c28315844.deop)
c:RegisterEffect(e2)
end
function c28315844.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local b1=Duel.CheckLPCost(tp,2000)
local b2=Duel.GetLP(tp)<=3000 and Duel.CheckLPCost(tp,500)
local b3=Duel.IsPlayerAffectedByEffect(tp,28368431)
if chk==0 then return b1 or b2 end
if b3 or not b1 or (b2 and Duel.SelectYesNo(tp,aux.Stringid(28315844,3))) then
Duel.PayLPCost(tp,500)
else
Duel.PayLPCost(tp,2000)
end
function c28315844.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp
end
function c28315844.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
if Duel.GetLP(tp)>=3000 then
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,tp,2000)
end
end
function c28315844.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
if Duel.GetLP(tp)>=3000 then
Duel.Damage(tp,2000,REASON_EFFECT)
end
end
function c28315844.cfilter(c,tp)
return c:IsFaceup() and c:IsSetCard(0x283) and c:IsControler(tp)
......
......@@ -2,11 +2,12 @@
function c28316051.initial_effect(c)
--antica spsummon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DAMAGE)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,28316051)
e1:SetCost(c28316051.cost)
e1:SetCondition(c28316051.spcon)
e1:SetTarget(c28316051.sptg)
e1:SetOperation(c28316051.spop)
c:RegisterEffect(e1)
......@@ -24,28 +25,26 @@ function c28316051.initial_effect(c)
e2:SetOperation(c28316051.tgop)
c:RegisterEffect(e2)
end
function c28316051.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local b1=Duel.CheckLPCost(tp,2000)
local b2=Duel.GetLP(tp)<=3000 and Duel.CheckLPCost(tp,500)
local b3=Duel.IsPlayerAffectedByEffect(tp,28368431)
if chk==0 then return b1 or b2 end
if b3 or not b1 or (b2 and Duel.SelectYesNo(tp,aux.Stringid(28316051,3))) then
Duel.PayLPCost(tp,500)
else
Duel.PayLPCost(tp,2000)
end
function c28316051.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp
end
function c28316051.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
if Duel.GetLP(tp)>=3000 then
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,tp,2000)
end
end
function c28316051.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
if Duel.GetLP(tp)>=3000 then
Duel.Damage(tp,2000,REASON_EFFECT)
end
end
function c28316051.cfilter(c,tp)
return c:IsFaceup() and c:IsSetCard(0x283) and c:IsControler(tp)
......
......@@ -2,11 +2,12 @@
function c28316149.initial_effect(c)
--antica spsummon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DAMAGE)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,28316149)
e1:SetCost(c28316149.cost)
e1:SetCondition(c28316149.spcon)
e1:SetTarget(c28316149.sptg)
e1:SetOperation(c28316149.spop)
c:RegisterEffect(e1)
......@@ -24,28 +25,26 @@ function c28316149.initial_effect(c)
e2:SetOperation(c28316149.thop)
c:RegisterEffect(e2)
end
function c28316149.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local b1=Duel.CheckLPCost(tp,2000)
local b2=Duel.GetLP(tp)<=3000 and Duel.CheckLPCost(tp,500)
local b3=Duel.IsPlayerAffectedByEffect(tp,28368431)
if chk==0 then return b1 or b2 end
if b3 or not b1 or (b2 and Duel.SelectYesNo(tp,aux.Stringid(28316149,3))) then
Duel.PayLPCost(tp,500)
else
Duel.PayLPCost(tp,2000)
end
function c28316149.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp
end
function c28316149.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
if Duel.GetLP(tp)>=3000 then
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,tp,2000)
end
end
function c28316149.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
if Duel.GetLP(tp)>=3000 then
Duel.Damage(tp,2000,REASON_EFFECT)
end
end
function c28316149.cfilter(c,tp)
return c:IsFaceup() and c:IsSetCard(0x283) and c:IsControler(tp)
......
......@@ -4,10 +4,11 @@ function c28316558.initial_effect(c)
--antica spsummon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DAMAGE)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,28316558)
e1:SetCost(c28316558.cost)
e1:SetCondition(c28316558.spcon)
e1:SetTarget(c28316558.sptg)
e1:SetOperation(c28316558.spop)
c:RegisterEffect(e1)
......@@ -25,22 +26,17 @@ function c28316558.initial_effect(c)
e2:SetOperation(c28316558.thop)
c:RegisterEffect(e2)
end
function c28316558.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local b1=Duel.CheckLPCost(tp,2000)
local b2=Duel.GetLP(tp)<=3000 and Duel.CheckLPCost(tp,500)
local b3=Duel.IsPlayerAffectedByEffect(tp,28368431)
if chk==0 then return b1 or b2 end
if b3 or not b1 or (b2 and Duel.SelectYesNo(tp,aux.Stringid(28316558,4))) then
Duel.PayLPCost(tp,500)
else
Duel.PayLPCost(tp,2000)
end
function c28316558.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp
end
function c28316558.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
if Duel.GetLP(tp)>=3000 then
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,tp,2000)
end
end
function c28316558.chkfilter(c)
return c:IsCode(28335405) and not c:IsPublic()
......@@ -55,6 +51,9 @@ function c28316558.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.ShuffleHand(tp)
Duel.Damage(1-tp,500,REASON_EFFECT)
end
if Duel.GetLP(tp)>=3000 then
Duel.Damage(tp,2000,REASON_EFFECT)
end
end
function c28316558.cfilter(c,tp)
return c:IsFaceup() and c:IsSetCard(0x283) and c:IsControler(tp)
......
......@@ -2,11 +2,12 @@
function c28317560.initial_effect(c)
--antica spsummon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DAMAGE)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,28317560)
e1:SetCost(c28317560.cost)
e1:SetCondition(c28317560.spcon)
e1:SetTarget(c28317560.sptg)
e1:SetOperation(c28317560.spop)
c:RegisterEffect(e1)
......@@ -19,38 +20,36 @@ function c28317560.initial_effect(c)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,38317560)
e2:SetCondition(c28317560.spcon)
e2:SetCondition(c28317560.spcon2)
e2:SetTarget(c28317560.sptg2)
e2:SetOperation(c28317560.spop2)
c:RegisterEffect(e2)
end
function c28317560.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local b1=Duel.CheckLPCost(tp,2000)
local b2=Duel.GetLP(tp)<=3000 and Duel.CheckLPCost(tp,500)
local b3=Duel.IsPlayerAffectedByEffect(tp,28368431)
if chk==0 then return b1 or b2 end
if b3 or not b1 or (b2 and Duel.SelectYesNo(tp,aux.Stringid(28317560,3))) then
Duel.PayLPCost(tp,500)
else
Duel.PayLPCost(tp,2000)
end
function c28317560.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp
end
function c28317560.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
if Duel.GetLP(tp)>=3000 then
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,tp,2000)
end
end
function c28317560.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
if Duel.GetLP(tp)>=3000 then
Duel.Damage(tp,2000,REASON_EFFECT)
end
end
function c28317560.cfilter(c,tp)
return c:IsFaceup() and c:IsSetCard(0x283) and c:IsControler(tp)
end
function c28317560.spcon(e,tp,eg,ep,ev,re,r,rp)
function c28317560.spcon2(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp and not eg:IsContains(e:GetHandler()) and eg:IsExists(c28317560.cfilter,1,nil,tp)
end
function c28317560.spfilter(c,e,tp)
......
......@@ -19,6 +19,7 @@ function c28318424.initial_effect(c)
e2:SetTarget(c28318424.thtg)
e2:SetOperation(c28318424.thop)
c:RegisterEffect(e2)
c28318424.fusion_effect=true
end
function c28318424.condition(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase()
......
......@@ -11,9 +11,10 @@ function c28333723.initial_effect(c)
c:RegisterEffect(e1)
--set
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_PHASE+PHASE_END)
e2:SetRange(LOCATION_GRAVE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCost(aux.bfgcost)
e2:SetCondition(c28333723.setcon)
e2:SetTarget(c28333723.settg)
e2:SetOperation(c28333723.setop)
......@@ -31,7 +32,7 @@ function c28333723.cost(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
function c28333723.spfilter(c,e,tp)
return c:IsSetCard(0x285) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
return c:IsSetCard(0x285) and c:IsRace(RACE_FAIRY) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c28333723.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
......@@ -62,26 +63,18 @@ end
function c28333723.setcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetLP(tp)<=3000
end
function c28333723.filter(c)
return c:IsSetCard(0x285) and c:IsRace(RACE_FIEND) and c:IsFaceup()
function c28333723.setfilter(c)
return c:IsSetCard(0x285) and c:IsSSetable()
end
function c28333723.settg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c28333723.filter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c28333723.filter,tp,LOCATION_MZONE,0,1,nil) and e:GetHandler():IsSSetable() end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local g=Duel.SelectTarget(tp,c28333723.filter,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,e:GetHandler(),1,0,0)
function c28333723.settg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c28333723.setfilter,tp,LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,nil,1,0,0)
end
function c28333723.setop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and Duel.SSet(tp,c)~=0 and tc:IsRelateToEffect(e) and tc:IsFaceup() then
local e0=Effect.CreateEffect(e:GetHandler())
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_CHANGE_RACE)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e0:SetReset(RESET_EVENT+RESETS_STANDARD)
e0:SetValue(RACE_FAIRY)
tc:RegisterEffect(e0)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g=Duel.SelectMatchingCard(tp,c28333723.setfilter,tp,LOCATION_GRAVE,0,1,1,nil)
local tc=g:GetFirst()
if tc then
Duel.SSet(tp,tc)
end
end
......@@ -5,6 +5,7 @@ function c28362718.initial_effect(c)
e1:SetCategory(CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_DRAW_PHASE+TIMING_END_PHASE)
e1:SetCost(c28362718.cost)
e1:SetTarget(c28362718.target)
e1:SetOperation(c28362718.activate)
......@@ -19,6 +20,35 @@ function c28362718.initial_effect(c)
e2:SetTarget(c28362718.fstg)
e2:SetOperation(c28362718.fsop)
c:RegisterEffect(e2)
c28362718.fusion_effect=true
if not c28362718.global_check then
c28362718.global_check=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_SPSUMMON_SUCCESS)
ge1:SetCondition(c28362718.checkcon)
ge1:SetOperation(c28362718.checkop)
Duel.RegisterEffect(ge1,0)
end
end
function c28362718.ctfilter(c)
return c:IsSummonType(SUMMON_TYPE_FUSION) and c:IsType(TYPE_FUSION) and c:IsFaceup()
end
function c28362718.checkcon(e,tp,eg,ep,ev,re,r,rp)
return re and not re:IsHasProperty(EFFECT_FLAG_UNCOPYABLE) and eg:IsExists(c28362718.ctfilter,1,nil)
end
function c28362718.checkop(e,tp,eg,ep,ev,re,r,rp)
local sg=eg:Filter(c28362718.ctfilter,nil)
for tc in aux.Next(sg) do
local code=tc:GetCode()
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(28362718)
e1:SetTargetRange(LOCATION_EXTRA,0)
e1:SetTarget(aux.TargetBoolFunction(Card.IsCode,code))
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tc:GetSummonPlayer())
end
end
function c28362718.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local b1=Duel.CheckLPCost(tp,2000)
......@@ -30,9 +60,6 @@ function c28362718.cost(e,tp,eg,ep,ev,re,r,rp,chk)
else
Duel.PayLPCost(tp,2000)
end
Debug.Message(b1)
Debug.Message(b2)
Debug.Message(b3)
end
function c28362718.thfilter(c)
return c:IsSetCard(0x285) and not c:IsCode(28362718) and c:IsType(TYPE_SPELL+TYPE_TRAP) and (c:IsAbleToHand() or c:IsSSetable())
......@@ -70,7 +97,7 @@ function c28362718.filter1(c,e)
end
function c28362718.filter2(c,e,tp,m,f,chkf)
return c:IsType(TYPE_FUSION) and (not f or f(c))
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial(m,nil,chkf) and not c:IsHasEffect(28362718)
end
function c28362718.fscon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetLP(tp)<=3000
......
......@@ -5,6 +5,7 @@ function c28366277.initial_effect(c)
e1:SetCategory(CATEGORY_SEARCH+CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_DRAW_PHASE+TIMING_END_PHASE)
e1:SetCost(c28366277.cost)
e1:SetTarget(c28366277.target)
e1:SetOperation(c28366277.activate)
......
......@@ -12,8 +12,8 @@ function c28368431.initial_effect(c)
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_DAMAGE)
e2:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e2:SetCode(EVENT_LEAVE_FIELD)
e2:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e2:SetRange(LOCATION_GRAVE)
e2:SetCondition(c28368431.thcon)
e2:SetTarget(c28368431.thtg)
......@@ -110,8 +110,12 @@ function c28368431.rcop(e,tp,eg,ep,ev,re,r,rp)
Duel.ConfirmCards(1-tp,g)
end
end
function c28368431.confilter(c,tp)
return c:IsPreviousControler(tp) and c:IsPreviousLocation(LOCATION_MZONE)
and c:GetReasonPlayer()==1-tp and not c:IsReason(REASON_RULE)
end
function c28368431.thcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetLP(tp)<=3000 and ep==tp
return Duel.GetLP(tp)<=3000 and eg:IsExists(c28368431.confilter,1,nil,tp)
end
function c28368431.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToHand() end
......@@ -122,4 +126,29 @@ function c28368431.thop(e,tp,eg,ep,ev,re,r,rp)
if c:IsRelateToEffect(e) then
Duel.SendtoHand(c,nil,REASON_EFFECT)
end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CHANGE_DAMAGE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0)
e1:SetCondition(c28368431.damcon)
e1:SetValue(c28368431.damval)
e1:SetReset(RESET_PHASE+PHASE_END+RESET_OPPO_TURN)
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EFFECT_NO_EFFECT_DAMAGE)
e2:SetValue(1)
Duel.RegisterEffect(e2,tp)
end
function c28368431.damcon(e)
local tp=e:GetHandlerPlayer()
return Duel.GetFlagEffect(tp,28368431)==0
end
function c28368431.damval(e,re,val,r,rp,rc)
local tp=e:GetHandlerPlayer()
if bit.band(r,REASON_EFFECT+REASON_BATTLE)~=0 then
Duel.RegisterFlagEffect(tp,28368431,RESET_PHASE+PHASE_END+RESET_OPPO_TURN,0,1)
return 0
end
return val
end
--动物朋友 伶鼬
local s,id,o=GetID()
function s.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,1))
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_MZONE)
e1:SetHintTiming(0,TIMING_BATTLE_START+TIMING_BATTLE_END+TIMINGS_CHECK_MONSTER)
e1:SetCountLimit(1)
e1:SetCondition(s.fucon)
e1:SetCost(s.fucost)
e1:SetOperation(s.fuop)
c:RegisterEffect(e1)
end
function s.fucon(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase()
return ph>=PHASE_BATTLE_START and ph<=PHASE_BATTLE
end
function s.costfilter(c)
return c:IsSetCard(0x442) and not c:IsPublic()
end
function s.fucost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.IsExistingMatchingCard(s.costfilter,tp,LOCATION_HAND,0,1,nil) end
local g=Duel.GetMatchingGroup(s.costfilter,tp,LOCATION_HAND,0,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local sg=g:SelectSubGroup(tp,aux.dncheck,false,1,99)
Duel.ConfirmCards(1-tp,sg)
for tc in aux.Next(sg) do
tc:RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,fid,66)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_PUBLIC)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1)
end
e:SetLabel(sg:GetCount())
end
function s.fuop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ct=e:GetLabel()
if c:IsFaceup() and c:IsRelateToEffect(e) then
if ct>=1 then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(ct*100)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE+RESET_PHASE+PHASE_BATTLE)
c:RegisterEffect(e1)
c:RegisterFlagEffect(0,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(id,0))
end
if ct>=2 then
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetRange(LOCATION_MZONE)
e2:SetCondition(s.atkcon)
e2:SetValue(1000)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE)
c:RegisterEffect(e2)
c:RegisterFlagEffect(0,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(id,1))
end
if ct>=3 then
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_DAMAGE)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetCode(EVENT_BATTLE_DESTROYING)
e3:SetRange(LOCATION_MZONE)
e3:SetCondition(s.damcon)
e3:SetOperation(s.damop)
e3:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE)
c:RegisterEffect(e3)
c:RegisterFlagEffect(0,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(id,2))
end
end
end
function s.atkcon(e)
local ph=Duel.GetCurrentPhase()
local bc=e:GetHandler():GetBattleTarget()
return ph==PHASE_DAMAGE_CAL and bc and bc:GetAttack()>e:GetHandler():GetAttack()
end
function s.damcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local bc=c:GetBattleTarget()
return c:IsRelateToBattle() and bc:IsType(TYPE_MONSTER)
end
function s.damop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local bc=c:GetBattleTarget()
Duel.Damage(1-tp,bc:GetDefense(),REASON_EFFECT)
end
\ No newline at end of file
--动物朋友 鼷鹿
local s,id,o=GetID()
function s.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,1))
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_MZONE)
e1:SetHintTiming(0,TIMING_BATTLE_START+TIMING_BATTLE_END+TIMINGS_CHECK_MONSTER)
e1:SetCountLimit(1)
e1:SetCondition(s.fucon)
e1:SetCost(s.fucost)
e1:SetTarget(s.futg)
e1:SetOperation(s.fuop)
c:RegisterEffect(e1)
end
function s.fucon(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase()
return ph==PHASE_MAIN1 or ph==PHASE_MAIN2
end
function s.costfilter(c)
return c:IsSetCard(0x442) and not c:IsPublic()
end
function s.group(g,tp)
return aux.dncheck(g) and (g:GetCount()<3 or Duel.IsPlayerCanDraw(tp))
end
function s.fucost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.IsExistingMatchingCard(s.costfilter,tp,LOCATION_HAND,0,1,nil) end
local g=Duel.GetMatchingGroup(s.costfilter,tp,LOCATION_HAND,0,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local sg=g:SelectSubGroup(tp,s.group,false,1,99)
Duel.ConfirmCards(1-tp,sg)
for tc in aux.Next(sg) do
tc:RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,EFFECT_FLAG_CLIENT_HINT,1,fid,66)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_PUBLIC)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1)
end
e:SetLabel(sg:GetCount())
e:SetLabelObject(sg)
end
function s.futg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local ct=e:GetLabel()
if ct>=1 then
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,tp,2000)
end
if ct>=3 then
local dr=math.ceil(ct/2)
if dr>3 then
dr=3
end
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,tp,LOCATION_HAND)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,dr)
Duel.SetTargetCard(e:GetLabelObject())
end
end
function s.fuop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ct=e:GetLabel()
if ct>=1 then
Duel.Recover(tp,2000,REASON_EFFECT)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_UPDATE_DEFENSE)
e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x442))
e1:SetValue(2000)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
if ct>=2 then
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_IMMUNE_EFFECT)
e2:SetTargetRange(LOCATION_MZONE,0)
e2:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x442))
e2:SetValue(s.efilter)
e2:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e2,tp)
end
if ct>=3 then
local g=e:GetLabelObject():Filter(aux.NecroValleyFilter(Card.IsRelateToChain),nil)
if c:IsFaceup() and c:IsRelateToEffect(e) then
g:AddCard(c)
end
if g:GetCount()>0 then
Duel.BreakEffect()
Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
local tg=Duel.GetOperatedGroup()
if tg:IsExists(Card.IsLocation,1,nil,LOCATION_DECK) then Duel.ShuffleDeck(tp) end
local ct=tg:FilterCount(Card.IsLocation,nil,LOCATION_DECK+LOCATION_EXTRA)
if ct>=2 then
local dr=math.ceil(ct/2)
if dr>3 then
dr=3
end
Duel.BreakEffect()
Duel.Draw(tp,dr,REASON_EFFECT)
end
end
end
end
function s.efilter(e,re)
return e:GetHandlerPlayer()~=re:GetOwnerPlayer()
end
\ No newline at end of file
--动物朋友 美西螈
local s,id,o=GetID()
function s.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,1))
e1:SetCategory(CATEGORY_GRAVE_SPSUMMON)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_PHASE+PHASE_BATTLE)
e1:SetRange(LOCATION_GRAVE)
e1:SetCondition(s.spcon)
e1:SetTarget(s.sptg)
e1:SetOperation(s.spop)
c:RegisterEffect(e1)
end
function s.cfilter(c)
return c:IsSetCard(0x442) and c:IsPublic()
end
function s.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_HAND,0,1,nil)
end
function s.spfilter(c,e,tp,id)
return c:IsReason(REASON_DESTROY) and c:GetTurnID()==id
and c:IsSetCard(0x442) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local g=Duel.GetMatchingGroup(s.cfilter,tp,LOCATION_HAND,0,nil)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and (e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) or g:GetCount()>2 and g:FilterCount(Card.IsAbleToDeck,nil)==g:GetCount() and Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp,Duel.GetTurnCount())) end
end
function s.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(s.cfilter,tp,LOCATION_HAND,0,nil)
local ct=g:GetCount()
local op1=ct>=1 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and c:IsRelateToEffect(e)
and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
local op2=ct>=3 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and g:FilterCount(Card.IsAbleToDeck,nil)==ct
and Duel.IsExistingMatchingCard(aux.NecroValleyFilter(s.spfilter),tp,LOCATION_GRAVE,0,1,nil,e,tp,Duel.GetTurnCount())
local off=1
local ops={}
local opval={}
if op1 then
ops[off]=aux.Stringid(id,0)
opval[off-1]=1
off=off+1
end
if op2 then
ops[off]=aux.Stringid(id,1)
opval[off-1]=2
off=off+1
end
if off==1 then return end
local op=Duel.SelectOption(tp,table.unpack(ops))
if opval[op]==1 then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
elseif opval[op]==2 then
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if ft>2 and Duel.IsPlayerAffectedByEffect(tp,59822133) then
ft=1
end
local tg=Duel.GetMatchingGroup(aux.NecroValleyFilter(s.spfilter),tp,LOCATION_GRAVE,0,nil,e,tp,Duel.GetTurnCount())
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
sg=tg:Select(tp,1,ft,nil)
if sg:GetCount()>0 then
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
aux.PlaceCardsOnDeckBottom(tp,g,REASON_EFFECT)
end
end
end
\ No newline at end of file
--动物朋友 白鼬
local s,id,o=GetID()
function s.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_PHASE+PHASE_BATTLE_START)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1)
e1:SetCondition(s.spcon)
e1:SetTarget(s.sptg)
e1:SetOperation(s.spop)
c:RegisterEffect(e1)
end
function s.spcon(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
if g:GetCount()==0 then return false end
local tg=g:GetMaxGroup(Card.GetAttack)
return tg:IsExists(Card.IsControler,1,nil,1-tp)
end
function s.pfilter(c)
return c:IsSetCard(0x442) and not c:IsPublic()
end
function s.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)
and Duel.IsExistingMatchingCard(s.pfilter,tp,LOCATION_HAND,0,1,e:GetHandler()) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function s.atkfilter(c)
return c:IsFaceup() and c:IsSetCard(0x442)
end
function s.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 and Duel.IsExistingMatchingCard(s.pfilter,tp,LOCATION_HAND,0,1,nil) then
local g=Duel.GetMatchingGroup(s.pfilter,tp,LOCATION_HAND,0,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local sg=g:SelectSubGroup(tp,aux.dncheck,false,1,99)
Duel.ConfirmCards(1-tp,sg)
Duel.ShuffleHand(tp)
local ct=sg:GetCount()
if ct>=2 then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x442))
e1:SetValue(1500)
if Duel.GetTurnPlayer()==tp then
e1:SetReset(RESET_PHASE+PHASE_END+RESET_OPPO_TURN)
else
e1:SetReset(RESET_PHASE+PHASE_END+RESET_OPPO_TURN,2)
end
Duel.RegisterEffect(e1,tp)
end
if ct>=4 then
Duel.BreakEffect()
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetTargetRange(LOCATION_MZONE,0)
e2:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x442))
e2:SetValue(ct*800)
if Duel.GetTurnPlayer()==tp then
e2:SetReset(RESET_PHASE+PHASE_END+RESET_OPPO_TURN)
else
e2:SetReset(RESET_PHASE+PHASE_END+RESET_OPPO_TURN,2)
end
Duel.RegisterEffect(e2,tp)
end
if ct>=6 then
Duel.BreakEffect()
local tg=Duel.GetMatchingGroup(s.atkfilter,tp,LOCATION_MZONE,0,nil)
for tc in aux.Next(tg) do
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK_FINAL)
e1:SetValue(tc:GetAttack()*2)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
end
end
end
end
\ No newline at end of file
--动物朋友 加帕里探险队
local s,id,o=GetID()
function s.initial_effect(c)
aux.AddFusionProcMix(c,false,true,33701380,s.fusfilter1,s.fusfilter1,s.fusfilter2,s.fusfilter3)
c:EnableReviveLimit()
aux.AddContactFusionProcedure(c,s.cfilter,LOCATION_GRAVE,0,aux.tdcfop(c))
aux.EnablePendulumAttribute(c,false)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_GRAVE_ACTION)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetRange(LOCATION_PZONE)
e1:SetCountLimit(1)
e1:SetCondition(s.thcon1)
e1:SetTarget(s.thtg1)
e1:SetOperation(s.thop1)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id,0))
e2:SetCategory(CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_BATTLE_DESTROYING)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetRange(LOCATION_PZONE)
e2:SetCondition(s.thcon2)
e2:SetTarget(s.thtg1)
e2:SetOperation(s.thop1)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(id,1))
e3:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetTarget(s.thtg3)
e3:SetOperation(s.thop3)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(id,2))
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e4:SetCode(EVENT_LEAVE_FIELD)
e4:SetProperty(EFFECT_FLAG_DELAY)
e4:SetCondition(s.pencon)
e4:SetTarget(s.pentg)
e4:SetOperation(s.penop)
c:RegisterEffect(e4)
end
function s.fusfilter1(c)
return c:IsFusionSetCard(0x442) and c:IsRace(RACE_BEAST)
end
function s.fusfilter2(c)
return c:IsFusionSetCard(0x442) and c:IsRace(RACE_WINDBEAST)
end
function s.fusfilter3(c)
return c:IsFusionSetCard(0x442) and c:IsRace(RACE_AQUA)
end
function s.cfilter(c)
return c:IsType(TYPE_MONSTER) and c:IsAbleToDeckOrExtraAsCost()
end
function s.thcon1(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp
end
function s.thcon2(e,tp,eg,ep,ev,re,r,rp)
local rc=eg:GetFirst()
return rc:IsRelateToBattle() and rc:IsStatus(STATUS_OPPO_BATTLE) and rc:IsControler(tp)
and rc:IsFaceup() and rc:IsSetCard(0x442)
end
function s.thfilter1(c)
return c:IsSetCard(0x442) and c:IsAbleToHand()
end
function s.thtg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.thfilter1,tp,LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE)
end
function s.thop1(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.thfilter1),tp,LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function s.thfilter3(c)
return c:IsSetCard(0x442) and c:IsType(TYPE_SPELL+TYPE_TRAP) and c:IsAbleToHand()
end
function s.thtg3(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.thfilter3,tp,LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE)
end
function s.thop3(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.thfilter3),tp,LOCATION_GRAVE,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
function s.cfilter(c)
return c:IsSetCard(0x442)
end
function s.pencon(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(s.cfilter,tp,LOCATION_GRAVE,0,nil)
return g:GetClassCount(Card.GetCode)>=7
end
function s.pentg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1) end
end
function s.penop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.MoveToField(c,tp,tp,LOCATION_PZONE,POS_FACEUP,true)
end
end
\ No newline at end of file
--动物朋友的决意
local s,id,o=GetID()
function s.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOGRAVE+CATEGORY_REMOVE+CATEGORY_DAMAGE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(s.target)
e1:SetOperation(s.activate)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id,1))
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_TRAP_ACT_IN_HAND)
e2:SetCondition(s.handcon)
c:RegisterEffect(e2)
end
function s.tgfilter(c)
return c:IsSetCard(0x442) and c:IsType(TYPE_MONSTER) and c:IsAbleToRemove()
and not c:IsPublic()
end
function s.tgfilter(c)
return c:IsAbleToGrave()
end
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.pfilter,tp,LOCATION_HAND,0,1,nil)
and Duel.IsExistingMatchingCard(s.tgfilter,tp,0,LOCATION_MZONE,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,tp,LOCATION_HAND)
end
function s.cfilter(c)
return c:IsSetCard(0x442)
end
function s.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,s.pfilter,tp,LOCATION_HAND,0,1,1,nil)
local tc=g:GetFirst()
if g:GetCount()>0 then
Duel.ConfirmCards(1-tp,g)
local atk=tc:GetAttack()
Duel.Remove(g,POS_FACEDOWN,REASON_EFFECT)
local sg=Duel.GetMatchingGroup(s.cfilter,tp,LOCATION_GRAVE,0,nil)
local tg=nil
if sg:GetClassCount(Card.GetCode)>=10 then
tg=Duel.SelectMatchingCard(tp,s.tgfilter,tp,0,LOCATION_MZONE,1,1,nil)
else
tg=Duel.SelectMatchingCard(1-tp,s.tgfilter,tp,0,LOCATION_MZONE,1,1,nil)
end
if tg:GetCount()>0 then
local atk2=tg:GetFirst():GetAttack()
Duel.BreakEffect()
Duel.SendtoGrave(tg,REASON_EFFECT)
if atk2>atk then
Duel.Damage(tp,(atk2-atk)*2,REASON_EFFECT)
end
end
end
end
function s.handcon(e)
return Duel.GetFieldGroupCount(e:GetHandlerPlayer(),LOCATION_MZONE,0)==0
end
\ No newline at end of file
--动物朋友 左风薮爷
local s,id,o=GetID()
function s.initial_effect(c)
aux.AddFusionProcCodeFun(c,33700055,s.mfilter,1,true,true)
c:EnableReviveLimit()
aux.AddContactFusionProcedure(c,s.cfilter(c),LOCATION_GRAVE,0,aux.tdcfop(c))
aux.EnablePendulumAttribute(c,false)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_DESTROYED)
e1:SetRange(LOCATION_PZONE)
e1:SetCondition(s.spcon)
e1:SetTarget(s.sptg)
e1:SetOperation(s.spop)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id,1))
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_GRAVE_ACTION)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_PHASE+PHASE_END)
e2:SetRange(LOCATION_PZONE)
e2:SetCountLimit(1,id)
e2:SetCondition(s.thcon)
e2:SetTarget(s.thtg)
e2:SetOperation(s.thop)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(LOCATION_MZONE,0)
e3:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x442))
e3:SetValue(1)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(id,2))
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e4:SetCode(EVENT_LEAVE_FIELD)
e4:SetProperty(EFFECT_FLAG_DELAY)
e4:SetCondition(s.pencon)
e4:SetTarget(s.pentg)
e4:SetOperation(s.penop)
c:RegisterEffect(e4)
end
function s.mfilter(c)
return c:IsFusionCode(0x442) and c:IsRace(RACE_FAIRY)
end
function s.cfilter(ec)
return function (c)
local tp=ec:GetControler()
return c:IsType(TYPE_MONSTER) and c:IsAbleToDeckOrExtraAsCost()
and Duel.IsExistingMatchingCard(s.cfilter2,tp,LOCATION_ONFIELD,0,1,nil)
end
end
function s.cfilter2(c)
return c:IsCode(33703059) and c:IsFaceup() and c:IsSummonType(SUMMON_TYPE_FUSION)
end
function s.cfilter3(c,tp)
return c:IsReason(REASON_BATTLE) and c:IsPreviousSetCard(0x442)
and c:IsPreviousLocation(LOCATION_ONFIELD) and c:IsPreviousPosition(POS_FACEUP)
end
function s.spcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(s.cfilter3,1,nil)
end
function s.spfilter(c,e,tp,eg)
return c:IsSetCard(0x442) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
and not eg:Filter(s.cfilter3,nil,tp):IsExists(Card.IsCode,1,nil,c:GetCode())
end
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp,eg) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
end
function s.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 or not e:GetHandler():IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.spfilter),tp,LOCATION_GRAVE,0,1,1,nil,e,tp,eg)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
function s.cfilter4(c)
return c:IsCode(33703059) and c:IsFaceup()
end
function s.thcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(s.cfilter4,tp,LOCATION_PZONE,0,1,e:GetHandler())
end
function s.thfilter(c)
return c:IsSetCard(0x442) and c:IsAbleToHand()
end
function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local g=Duel.GetMatchingGroup(s.thfilter,tp,LOCATION_DECK,0,nil)
return g:GetClassCount(Card.GetCode)>=2
end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,2,tp,LOCATION_DECK)
end
function s.thop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(s.thfilter,tp,LOCATION_DECK,0,nil)
if g:GetClassCount(Card.GetCode)<2 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local tg1=g:SelectSubGroup(tp,aux.dncheck,false,2,2)
Duel.SendtoHand(tg1,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tg1)
end
function s.pencon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(s.cfilter4,tp,LOCATION_ONFIELD,0,1,nil)
end
function s.pentg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1) end
end
function s.penop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.MoveToField(c,tp,tp,LOCATION_PZONE,POS_FACEUP,true)
end
end
\ No newline at end of file
--动物朋友 右风薮爷
local s,id,o=GetID()
function s.initial_effect(c)
aux.AddFusionProcCodeFun(c,33700055,s.mfilter,1,true,true)
c:EnableReviveLimit()
aux.AddContactFusionProcedure(c,s.cfilter(c),LOCATION_GRAVE,0,aux.tdcfop(c))
aux.EnablePendulumAttribute(c,false)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_DESTROYED)
e1:SetRange(LOCATION_PZONE)
e1:SetCondition(s.spcon)
e1:SetTarget(s.sptg)
e1:SetOperation(s.spop)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id,1))
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_GRAVE_ACTION)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_PHASE+PHASE_END)
e2:SetRange(LOCATION_PZONE)
e2:SetCountLimit(1,id)
e2:SetCondition(s.tgcon)
e2:SetTarget(s.tgtg)
e2:SetOperation(s.tgop)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(LOCATION_MZONE,0)
e3:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x442))
e3:SetValue(1)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(id,2))
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e4:SetCode(EVENT_LEAVE_FIELD)
e4:SetProperty(EFFECT_FLAG_DELAY)
e4:SetCondition(s.pencon)
e4:SetTarget(s.pentg)
e4:SetOperation(s.penop)
c:RegisterEffect(e4)
end
function s.mfilter(c)
return c:IsFusionCode(0x442) and c:IsRace(RACE_FAIRY)
end
function s.cfilter(ec)
return function (c)
local tp=ec:GetControler()
return c:IsType(TYPE_MONSTER) and c:IsAbleToDeckOrExtraAsCost()
and Duel.IsExistingMatchingCard(s.cfilter2,tp,LOCATION_ONFIELD,0,1,nil)
end
end
function s.cfilter2(c)
return c:IsCode(33703058) and c:IsFaceup() and c:IsSummonType(SUMMON_TYPE_FUSION)
end
function s.cfilter3(c,tp)
return c:IsReason(REASON_EFFECT) and c:IsPreviousSetCard(0x442)
and c:IsPreviousLocation(LOCATION_ONFIELD) and c:IsPreviousPosition(POS_FACEUP)
end
function s.spcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(s.cfilter3,1,nil)
end
function s.spfilter(c,e,tp,eg)
return c:IsSetCard(0x442) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
and not eg:Filter(s.cfilter3,nil,tp):IsExists(Card.IsCode,1,nil,c:GetCode())
end
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp,eg) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
end
function s.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 or not e:GetHandler():IsRelateToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.spfilter),tp,LOCATION_GRAVE,0,1,1,nil,e,tp,eg)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
function s.cfilter4(c)
return c:IsCode(33703058) and c:IsFaceup()
end
function s.tgcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(s.cfilter4,tp,LOCATION_PZONE,0,1,e:GetHandler())
end
function s.tgfilter(c)
return c:IsSetCard(0x442) and c:IsAbleToGrave()
end
function s.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local g=Duel.GetMatchingGroup(s.tgfilter,tp,LOCATION_DECK,0,nil)
return g:GetClassCount(Card.GetCode)>=2
end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,2,tp,LOCATION_DECK)
end
function s.tgop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(s.tgfilter,tp,LOCATION_DECK,0,nil)
if g:GetClassCount(Card.GetCode)<2 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local tg1=g:SelectSubGroup(tp,aux.dncheck,false,2,2)
Duel.SendtoGrave(tg1,REASON_EFFECT)
end
function s.pencon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(s.cfilter4,tp,LOCATION_ONFIELD,0,1,nil)
end
function s.pentg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLocation(tp,LOCATION_PZONE,0) or Duel.CheckLocation(tp,LOCATION_PZONE,1) end
end
function s.penop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.MoveToField(c,tp,tp,LOCATION_PZONE,POS_FACEUP,true)
end
end
\ No newline at end of file
--虚拟YouTuber 真白花音 SP
local s,id,o=GetID()
function s.initial_effect(c)
aux.AddSynchroMixProcedure(c,aux.Tuner(nil),aux.Tuner(nil),nil,aux.NonTuner(nil),1,99)
c:EnableReviveLimit()
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetOperation(s.atkop)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_BATTLE_DAMAGE)
e2:SetCondition(s.con)
e2:SetOperation(s.op)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_IMMUNE_EFFECT)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e3:SetRange(LOCATION_MZONE)
e3:SetValue(s.efilter)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetCategory(CATEGORY_DAMAGE)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e4:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e4:SetCode(EVENT_BATTLE_DESTROYING)
e4:SetRange(LOCATION_MZONE)
e4:SetCondition(s.damcon)
e4:SetOperation(s.damop)
c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(id,1))
e5:SetCategory(CATEGORY_DRAW)
e5:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e5:SetCode(EVENT_BATTLE_DAMAGE)
e5:SetCondition(s.drcon)
e5:SetTarget(s.drtg)
e5:SetOperation(s.drop)
c:RegisterEffect(e5)
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e6:SetCode(EVENT_PHASE+PHASE_END)
e6:SetRange(LOCATION_MZONE)
e6:SetLabel(dam)
e6:SetCountLimit(1)
e6:SetCondition(s.econ1)
e6:SetOperation(s.eop)
c:RegisterEffect(e6)
end
function s.atkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsFaceup() and c:IsRelateToEffect(e) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_COPY_INHERIT)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(-4000)
c:RegisterEffect(e1)
end
end
function s.con(e,tp,eg,ep,ev,re,r,rp)
return ev~=0 and e:GetHandler():GetFlagEffect(id)==0
end
function s.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local dam=ev
if dam<3000 then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_BATTLE_DAMAGE)
e1:SetCondition(s.con2)
e1:SetOperation(s.op2)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_PHASE+PHASE_END)
e2:SetRange(LOCATION_MZONE)
e2:SetLabel(dam)
e2:SetCountLimit(1)
e2:SetCondition(s.econ2)
e2:SetOperation(s.eop)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
c:RegisterEffect(e2)
end
c:RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
end
function s.con2(e,tp,eg,ep,ev,re,r,rp)
return ev~=0 and e:GetHandler():GetFlagEffect(id)~=0
end
function s.op2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local dam=e:GetLabel()
if dam+ev>3000 then
c:RegisterFlagEffect(id+1,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
else
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOGRAVE)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_BATTLE_DAMAGE)
e1:SetCondition(s.con2)
e1:SetOperation(s.op2)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
c:RegisterEffect(e1)
end
e:Reset()
end
function s.econ1(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(id)==0
end
function s.econ2(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(id+1)==0
end
function s.eop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetTurnPlayer()==tp then
c:RegisterFlagEffect(id+2,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END+RESET_SELF_TURN,EFFECT_FLAG_CLIENT_HINT,2,0,aux.Stringid(id,0))
else
c:RegisterFlagEffect(id+2,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END+RESET_SELF_TURN,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(id,0))
end
end
function s.efilter(e,te)
return te:GetOwner()~=e:GetOwner() and e:GetHandler():GetFlagEffect(id+2)==0
end
function s.damcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local bc=c:GetBattleTarget()
return c:IsRelateToBattle() and bc:IsType(TYPE_MONSTER) and e:GetHandler():GetFlagEffect(id+2)==0
end
function s.damop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local bc=c:GetBattleTarget()
local dam=s.getdam(bc)
Duel.Damage(1-tp,bc:GetDefense(),REASON_EFFECT)
end
function s.getdam(c)
if c:IsLevelAbove(1) then
return c:GetLevel()*400
elseif c:IsRankAbove(1) then
return c:GetRank()*400
elseif c:IsLinkAbove(1) then
return c:GetLink()*400
end
return 0
end
function s.drcon(e,tp,eg,ep,ev,re,r,rp)
return ep~=tp
end
function s.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(1)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
if e:GetHandler():GetFlagEffect(id+2)~=0 then
e:SetLabel(100)
end
end
function s.drop(e,tp,eg,ep,ev,re,r,rp)
if e:GetLabel()==100 then
Duel.NegateEffect(0)
return
end
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Draw(p,d,REASON_EFFECT)
end
\ No newline at end of file
--起草虚拟YouTuber
local s,id,o=GetID()
function s.initial_effect(c)
aux.AddEquipSpellEffect(c,true,true,Card.IsFaceup,nil)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_CUSTOM+id)
e1:SetRange(LOCATION_SZONE)
e1:SetCondition(s.con)
e1:SetOperation(s.op)
c:RegisterEffect(e1)
if not aux.equip_check then
aux.equip_check=true
equip_eff=Duel.Equip
function Duel.Equip(int_tp,card_c1,card_c2,bool_up,bool_is)
if bool_up==nil then
bool_up=true
end
if bool_is==nil then
bool_is=false
end
equip_eff(int_tp,card_c1,card_c2,bool_up,bool_is)
Duel.RaiseEvent(card_c1,EVENT_CUSTOM+id,e,0,0,0,0)
end
end
end
function s.con(e,tp,eg,ep,ev,re,r,rp)
return eg:IsContains(e:GetHandler())
end
function s.ffilter(c,e,tp)
return c:IsSetCard(0x445)
end
function s.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
local ec=c:GetEquipTarget()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local tc=Duel.SelectMatchingCard(tp,s.ffilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp):GetFirst()
if tc then
Duel.ConfirmCards(1-tp,tc)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_ATTRIBUTE)
e1:SetValue(tc:GetAttribute())
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
ec:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_SET_ATTACK_FINAL)
e2:SetValue(tc:GetAttack())
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
ec:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EFFECT_SET_DEFENSE)
e3:SetValue(tc:GetDefense())
ec:RegisterEffect(e3)
local e4=Effect.CreateEffect(e:GetHandler())
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_CANNOT_ATTACK)
e4:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
ec:RegisterEffect(e4)
local fid=c:GetFieldID()
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(id,1))
e5:SetCategory(CATEGORY_SPECIAL_SUMMON)
e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e5:SetRange(LOCATION_SZONE)
e5:SetCode(EVENT_PHASE+PHASE_END)
e5:SetLabel(fid)
e5:SetLabelObject(tc)
e5:SetCost(s.spcost)
e5:SetTarget(s.sptg)
e5:SetOperation(s.spop)
e5:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e5)
tc:RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD,0,1,fid)
end
end
function s.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local ec=c:GetEquipTarget()
if chk==0 then return e:GetHandler():IsAbleToGraveAsCost()
and ec:IsAbleToGraveAsCost() end
local g=Group.FromCards(e:GetHandler(),ec)
Duel.SendtoGrave(g,REASON_COST)
Duel.SetTargetCard(g)
end
function s.spfilter(c,e,tp,fid,g)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false)
and Duel.GetLocationCountFromEx(tp,tp,g,c)>0
and c:GetFlagEffectLabel(id)==fid
end
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local ec=c:GetEquipTarget()
local g=Group.FromCards(e:GetHandler(),ec)
if chk==0 then return Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp,e:GetLabel(),g) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function s.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,s.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,e:GetLabel(),nil)
local tc=g:GetFirst()
if tc and Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)~=0
and tc:IsType(TYPE_XYZ) then
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
local tg=g:Filter(Card.IsRelateToEffect,nil,e)
Duel.Overlay(tg,g)
end
end
\ No newline at end of file
--Hololive 虚拟YouTuber 樱巫女
local s,id,o=GetID()
function s.initial_effect(c)
c:EnableReviveLimit()
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)
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_EXTRA)
e2:SetCondition(s.sprcon)
e2:SetTarget(s.sprtg)
e2:SetOperation(s.sprop)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_IMMUNE_EFFECT)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e3:SetRange(LOCATION_MZONE)
e3:SetValue(s.immval)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetRange(LOCATION_MZONE)
e4:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e4:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e4:SetTargetRange(1,0)
c:RegisterEffect(e4)
local e5=e4:Clone()
e5:SetCode(EFFECT_CANNOT_SUMMON)
c:RegisterEffect(e5)
local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e6:SetCode(EVENT_PHASE+PHASE_END)
e6:SetRange(LOCATION_MZONE)
e6:SetCountLimit(1)
e6:SetCondition(s.tdcon)
e6:SetOperation(s.tdop)
c:RegisterEffect(e6)
end
function s.sprfilter(c)
return c:IsFaceupEx() and c:IsLevelAbove(1) and c:IsAbleToGraveAsCost()
end
function s.fselect(g,tp,sc)
return aux.gffcheck(g,Card.IsType,TYPE_TUNER,aux.NOT(Card.IsType),TYPE_TUNER)
and Duel.GetLocationCountFromEx(tp,tp,g,sc)>0
end
function s.sprcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
local g=Duel.GetMatchingGroup(s.sprfilter,tp,LOCATION_MZONE+LOCATION_HAND,0,nil)
return g:CheckSubGroup(s.fselect,2,2,tp,c)
end
function s.sprtg(e,tp,eg,ep,ev,re,r,rp,chk,c)
local g=Duel.GetMatchingGroup(s.sprfilter,tp,LOCATION_MZONE+LOCATION_HAND,0,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local sg=g:SelectSubGroup(tp,s.fselect,true,2,2,tp,c)
if sg then
sg:KeepAlive()
e:SetLabelObject(sg)
return true
else return false end
end
function s.sprop(e,tp,eg,ep,ev,re,r,rp,c)
local g=e:GetLabelObject()
local lv=g:GetSum(Card.GetLevel,nil)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_LEVEL)
e1:SetValue(lv)
e1:SetReset(RESET_EVENT+0xff0000)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_SET_BASE_ATTACK_FINAL)
e2:SetValue(lv*800)
e2:SetReset(RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD+RESET_DISABLE)
c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EFFECT_SET_BASE_DEFENSE)
c:RegisterEffect(e3)
Duel.SendtoGrave(g,REASON_SPSUMMON)
g:DeleteGroup()
end
function s.immval(e,te)
local c=e:GetHandler()
local tc=te:GetOwner()
return tc~=c and te:IsActiveType(TYPE_MONSTER)
and ((tc:GetAttack()<=c:GetAttack() and tc:GetAttack()>=0)
or (tc:GetDefense()<=c:GetDefense() and tc:GetDefense()>=0)
or (tc:GetLevel()<=c:GetLevel() and tc:GetLevel()>=0))
end
function s.tdcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==1-tp and e:GetHandler():GetLevel()%2~=0
end
function s.tdop(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoDeck(e:GetHandler(),nil,2,REASON_EFFECT)
end
\ No newline at end of file
--毁天灭地·限制解除
local s,id,o=GetID()
function s.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_ATKCHANGE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(TIMING_DAMAGE_STEP)
e1:SetCondition(s.condition)
e1:SetTarget(s.target)
e1:SetOperation(s.activate)
c:RegisterEffect(e1)
end
function s.condition(e,tp,eg,ep,ev,re,r,rp)
local ph=Duel.GetCurrentPhase()
return ph>=PHASE_BATTLE_START and ph<=PHASE_BATTLE and aux.dscon(e,tp,eg,ep,ev,re,r,rp)
end
function s.filter(c)
return c:IsFaceup() and c:IsRace(RACE_MACHINE+RACE_PSYCHO)
end
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_MZONE,0,1,nil) end
end
function s.filter2(c,e)
return c:IsFaceup() and c:IsRace(RACE_MACHINE+RACE_PSYCHO) and not c:IsImmuneToEffect(e)
end
function s.activate(e,tp,eg,ep,ev,re,r,rp)
local sg=Duel.GetMatchingGroup(s.filter2,tp,LOCATION_MZONE,0,nil,e)
local c=e:GetHandler()
local fid=c:GetFieldID()
for tc in aux.Next(sg) do
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_SET_ATTACK_FINAL)
e1:SetValue(s.atkval)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
end
if e:IsHasType(EFFECT_TYPE_ACTIVATE) then
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_PHASE+PHASE_END)
e2:SetCountLimit(1)
e2:SetReset(RESET_PHASE+PHASE_END)
e2:SetOperation(s.ttop)
Duel.RegisterEffect(e2,tp)
end
end
function s.atkval(e,c)
return e:GetHandler():GetAttack()*2
end
function s.ttop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetTurnPlayer()==tp then
Duel.SkipPhase(tp,PHASE_END,RESET_PHASE+PHASE_END,1)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_SKIP_TURN)
e1:SetTargetRange(0,1)
e1:SetReset(RESET_PHASE+PHASE_END+RESET_OPPO_TURN)
Duel.RegisterEffect(e1,tp)
Duel.SkipPhase(tp,PHASE_DRAW,RESET_PHASE+PHASE_END,2)
Duel.SkipPhase(tp,PHASE_STANDBY,RESET_PHASE+PHASE_END,2)
Duel.SkipPhase(tp,PHASE_MAIN1,RESET_PHASE+PHASE_END,2)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCode(EFFECT_CANNOT_EP)
e2:SetTargetRange(1,0)
e2:SetReset(RESET_PHASE+PHASE_MAIN1+RESET_SELF_TURN)
Duel.RegisterEffect(e2,tp)
elseif Duel.GetTurnPlayer()==1-tp then
Duel.SkipPhase(1-tp,PHASE_END,RESET_PHASE+PHASE_END,1)
Duel.SkipPhase(tp,PHASE_DRAW,RESET_PHASE+PHASE_END,1)
Duel.SkipPhase(tp,PHASE_STANDBY,RESET_PHASE+PHASE_END,1)
Duel.SkipPhase(tp,PHASE_MAIN1,RESET_PHASE+PHASE_END,1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCode(EFFECT_CANNOT_EP)
e2:SetTargetRange(1,0)
e2:SetReset(RESET_PHASE+PHASE_MAIN1+RESET_SELF_TURN)
Duel.RegisterEffect(e2,tp)
end
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_PHASE+PHASE_BATTLE)
e2:SetCountLimit(1)
e2:SetReset(RESET_PHASE+PHASE_BATTLE)
e2:SetOperation(s.damop)
Duel.RegisterEffect(e2,tp)
end
function s.damop(e,tp,eg,ep,ev,re,r,rp)
Duel.SetLP(tp,0)
end
\ No newline at end of file
--反则苏生
local s,id,o=GetID()
function s.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_RECOVER+CATEGORY_TODECK)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(s.target)
e1:SetOperation(s.activate)
c:RegisterEffect(e1)
end
function s.filter(c)
return not c:IsAttack(0) and c:IsType(TYPE_MONSTER) and c:IsAbleToDeck()
and not c:IsType(TYPE_FUSION+TYPE_SYNCHRO+TYPE_XYZ+TYPE_LINK)
end
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_GRAVE,0,1,nil) and Duel.IsExistingMatchingCard(s.filter,tp,0,LOCATION_GRAVE,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,2,PLAYER_ALL,LOCATION_GRAVE)
end
function s.activate(e,tp,eg,ep,ev,re,r,rp)
if not (Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_GRAVE,0,1,nil) and Duel.IsExistingMatchingCard(s.filter,tp,0,LOCATION_GRAVE,1,nil)) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g1=Duel.SelectMatchingCard(tp,s.filter,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.Hint(HINT_SELECTMSG,1-tp,HINTMSG_TODECK)
local g2=Duel.SelectMatchingCard(1-tp,s.filter,tp,0,LOCATION_GRAVE,1,1,nil)
if g1:GetCount()>0 and g2:GetCount()>0 then
Duel.SendtoDeck(g1,1-tp,0,REASON_EFFECT)
Duel.SendtoDeck(g2,tp,0,REASON_EFFECT)
local rec=g1:GetFirst():GetAttack()+g2:GetFirst():GetAttack()
Duel.Recover(tp,rec,REASON_EFFECT,true)
Duel.Recover(1-tp,rec,REASON_EFFECT,true)
Duel.RDComplete()
end
end
\ No newline at end of file
--电拟神招 覆 ~新篇开幕~
local s,id,o=GetID()
function s.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_RELEASE+CATEGORY_SPECIAL_SUMMON+CATEGORY_DAMAGE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCost(s.cost)
e1:SetTarget(s.target)
e1:SetOperation(s.activate)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id,1))
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_TRAP_ACT_IN_HAND)
e2:SetCondition(s.handcon)
c:RegisterEffect(e2)
end
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetActivityCount(tp,ACTIVITY_SPSUMMON)==0 end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_OATH)
e1:SetTargetRange(1,0)
e1:SetLabelObject(e)
e1:SetTarget(s.splimit)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function s.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return se~=e:GetLabelObject()
end
function s.cfilter(c,e,tp)
return c:IsFaceup() and c:IsReleasableByEffect()
and Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_DECK+LOCATION_EXTRA,0,1,nil,e,tp,c:GetAttribute())
end
function s.spfilter(c,e,tp,att,rc)
return c:IsSetCard(0x445,0x344c) and c:IsAttribute(att)
and c:IsCanBeSpecialSummoned(e,0,tp,true,false)
and ((c:IsLocation(LOCATION_DECK) and Duel.GetMZoneCount(tp,rc)>0)
or c:IsLocation(LOCATION_EXTRA) and Duel.GetLocationCountFromEx(tp,tp,rc,c)>0)
end
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_MZONE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_RELEASE,nil,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK+LOCATION_EXTRA)
end
function s.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Damage(tp,2000,REASON_EFFECT)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectMatchingCard(tp,s.cfilter,tp,LOCATION_MZONE,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.BreakEffect()
local att=g:GetFirst():GetAttribute()
if Duel.Release(g,REASON_EFFECT)>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=Duel.SelectMatchingCard(tp,s.spfilter,tp,LOCATION_DECK+LOCATION_EXTRA,0,1,1,nil,e,tp,att)
local tc=sg:GetFirst()
if tc then
Duel.SpecialSummon(tc,0,tp,tp,true,false,POS_FACEUP)
if tc:IsType(TYPE_XYZ) then
if c:IsRelateToEffect(e) then
c:CancelToGrave()
Duel.Overlay(tc,Group.FromCards(c))
end
Duel.Overlay(tc,g)
end
end
end
end
end
function s.handcon(e)
return Duel.GetFieldGroupCount(e:GetHandlerPlayer(),LOCATION_MZONE,0)==1
end
\ No newline at end of file
--他们前来救你了?
local s,id,o=GetID()
function s.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_RECOVER+CATEGORY_DRAW+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCost(s.cost)
e1:SetTarget(s.target)
e1:SetOperation(s.activate)
c:RegisterEffect(e1)
end
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
local g=Duel.GetMatchingGroup(Card.IsDiscardable,tp,LOCATION_HAND,0,c)
e:SetLabel(g:GetCount())
if chk==0 then
if c:IsLocation(LOCATION_HAND) then
return g:GetCount()==Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)-1
else
return g:GetCount()==Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)
end
end
Duel.SendtoGrave(g,REASON_COST+REASON_DISCARD)
end
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetLabel()~=0 and Duel.IsExistingMatchingCard(Card.IsAbleToHand,tp,LOCATION_DECK,0,e:GetLabel(),nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,e:GetLabel())
end
function s.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
Duel.PreserveSelectDeckSequence(true)
local g=Duel.SelectMatchingCard(1-tp,Card.IsAbleToHand,tp,LOCATION_DECK,0,e:GetLabel(),e:GetLabel(),nil)
Duel.PreserveSelectDeckSequence(false)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
Duel.Recover(tp,g:GetCount()*1000,REASON_EFFECT)
end
end
\ No newline at end of file
--动物朋友 中之麒麟
local s,id,o=GetID()
function s.initial_effect(c)
aux.AddLinkProcedure(c,s.mfilter,4,nil,s.lcheck)
c:EnableReviveLimit()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e1:SetValue(1)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EFFECT_IMMUNE_EFFECT)
e2:SetValue(s.efilter)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(id,0))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_MZONE)
e3:SetCondition(s.spcon)
e3:SetTarget(s.sptg)
e3:SetOperation(s.spop)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(id,1))
e4:SetCategory(CATEGORY_SPECIAL_SUMMON)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e4:SetProperty(EFFECT_FLAG_DELAY)
e4:SetCode(EVENT_TO_GRAVE)
e4:SetCondition(s.spcon)
e4:SetTarget(s.sptg)
e4:SetOperation(s.spop)
c:RegisterEffect(e4)
end
function s.mfilter(c)
return c:IsLinkSetCard(0x445)
end
function s.lcheck(g,lc)
return g:GetClassCount(Card.GetLinkCode)==g:GetCount()
end
function s.efilter(e,te)
return te:GetOwner()~=e:GetOwner()
end
function s.cfilter(c)
return c:GetSequence()<5
end
function s.spcon(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_MZONE,0,1,nil)
end
function s.spfilter(c,e,sp)
return c:IsSetCard(0x442) and c:IsCanBeSpecialSummoned(e,0,sp,false,false)
end
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,LOCATION_GRAVE)
end
function s.spop(e,tp,eg,ep,ev,re,r,rp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
local tg=Duel.GetMatchingGroup(aux.NecroValleyFilter(s.spfilter),tp,LOCATION_GRAVE,0,nil,e,tp)
if ft<=0 or tg:GetCount()==0 then return end
if Duel.IsPlayerAffectedByEffect(tp,59822133) then ft=1 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=tg:Select(tp,1,ft,nil)
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
function s.spcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsPreviousLocation(LOCATION_ONFIELD) and c:IsPreviousPosition(POS_FACEUP)
end
function s.spfilter(c,e,tp)
return c:IsSetCard(0x442) and c:IsCanBeSpecialSummoned(e,0,tp,true,false)
and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0
end
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_EXTRA,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function s.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.spfilter),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
\ No newline at end of file
--动物朋友 王国运输机
local s,id,o=GetID()
function s.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCost(s.cost)
e1:SetTarget(s.target)
c:RegisterEffect(e1)
end
function s.costfilter(c)
return c:IsSetCard(0x442) and not c:IsPublic()
end
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.costfilter,tp,LOCATION_HAND,0,1,e:GetHandler()) end
local g=Duel.GetMatchingGroup(s.costfilter,tp,LOCATION_HAND,0,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM)
local sg=g:SelectSubGroup(tp,aux.dncheck,false,1,99)
Duel.ConfirmCards(1-tp,sg)
Duel.ShuffleHand(tp)
e:SetLabel(sg:GetCount())
end
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return true end
local ct=e:GetLabel()
if ct>=2 then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetTarget(s.immtg)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e1)
c:RegisterFlagEffect(0,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(id,0))
end
if ct>=3 then
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_PIERCE)
e2:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetTargetRange(LOCATION_MZONE,0)
e2:SetTarget(s.damfilter)
e2:SetValue(1)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_AVOID_BATTLE_DAMAGE)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetTargetRange(LOCATION_MZONE,0)
e3:SetTarget(s.damfilter)
e3:SetValue(1)
c:RegisterEffect(e3)
c:RegisterFlagEffect(0,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(id,1))
end
end
function s.immtg(e,c)
return c:IsSetCard(0x442) and (c:IsStatus(STATUS_SPSUMMON_TURN) or c:IsStatus(STATUS_SUMMON_TURN))
end
function s.damfilter(e,c)
return c:IsSetCard(0x442)
end
\ No newline at end of file
......@@ -8,6 +8,7 @@ function cm.initial_effect(c)
SNNM.ALCYakuNew(c,m,cm.confirm,LOCATION_HAND,{1900,300,4,RACE_WARRIOR,ATTRIBUTE_DARK})
SNNM.AllGlobalCheck(c)
end
cm.fusion_effect=true
function cm.confirm(c,tp)
local g=Group.CreateGroup()
local ct=Duel.GetFieldGroupCount(tp,0,LOCATION_HAND)
......
......@@ -8,6 +8,7 @@ function cm.initial_effect(c)
SNNM.ALCYakuNew(c,m,cm.confirm,LOCATION_DECK,{200,2200,4,RACE_WARRIOR,ATTRIBUTE_DARK})
SNNM.AllGlobalCheck(c)
end
cm.fusion_effect=true
function cm.confirm(c,tp)
local g=Group.CreateGroup()
local ct=Duel.GetFieldGroupCount(tp,0,LOCATION_DECK)
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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