Skip to content

Commit b686187

Browse files
authored
Added new card scripts
1 parent 7b222a4 commit b686187

File tree

5 files changed

+474
-0
lines changed

5 files changed

+474
-0
lines changed

pre-release/c101303037.lua

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
--星辰鋏竜シャウラス
2+
--Dracotail Shaurus
3+
--scripted by Naim
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
c:EnableReviveLimit()
7+
--Fusion Materials: 1 "Dragontail" monster + 1 monster in the hand
8+
Fusion.AddProcMix(c,true,true,aux.FilterBoolFunctionEx(Card.IsSetCard,SET_DRACOTAIL),aux.FilterBoolFunctionEx(Card.IsLocation,LOCATION_HAND))
9+
--Shuffle 2 "Dracotail" cards from your GY, and 1 face-up card on the field of the same type (Monster, Spell, or Trap) as 1 of them into the Deck
10+
local e1=Effect.CreateEffect(c)
11+
e1:SetDescription(aux.Stringid(id,0))
12+
e1:SetCategory(CATEGORY_TODECK)
13+
e1:SetType(EFFECT_TYPE_IGNITION)
14+
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
15+
e1:SetRange(LOCATION_MZONE)
16+
e1:SetCountLimit(1,id)
17+
e1:SetTarget(s.tdtg)
18+
e1:SetOperation(s.tdop)
19+
c:RegisterEffect(e1)
20+
--Special Summon this card from the GY, but banish it when it leaves the field
21+
local e2=Effect.CreateEffect(c)
22+
e2:SetDescription(aux.Stringid(id,1))
23+
e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_REMOVE)
24+
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
25+
e2:SetProperty(EFFECT_FLAG_DELAY,EFFECT_FLAG2_CHECK_SIMULTANEOUS)
26+
e2:SetCode(EVENT_CUSTOM+id)
27+
e2:SetRange(LOCATION_GRAVE)
28+
e2:SetCountLimit(1,{id,1})
29+
e2:SetTarget(s.sptg)
30+
e2:SetOperation(s.spop)
31+
c:RegisterEffect(e2)
32+
--Keep track of monsters being sent to the GY at the same time
33+
local e3=Effect.CreateEffect(c)
34+
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
35+
e3:SetCode(EVENT_TO_GRAVE)
36+
e3:SetRange(LOCATION_GRAVE)
37+
e3:SetCondition(function() return not Duel.IsDamageStep() end)
38+
e3:SetOperation(s.regop)
39+
c:RegisterEffect(e3)
40+
local e4=e3:Clone()
41+
e4:SetCode(EVENT_CHAINING)
42+
e4:SetOperation(function(e) e:GetHandler():ResetFlagEffect(id+100) end)
43+
c:RegisterEffect(e4)
44+
local e5=e4:Clone()
45+
e5:SetCode(EVENT_CHAIN_SOLVED)
46+
c:RegisterEffect(e5)
47+
local e6=e4:Clone()
48+
e6:SetCode(EVENT_BREAK_EFFECT)
49+
c:RegisterEffect(e6)
50+
end
51+
s.listed_series={SET_DRACOTAIL}
52+
function s.tdfilter(c,e)
53+
return (c:IsSetCard(SET_DRACOTAIL) or c:IsOnField()) and c:IsFaceup() and c:IsAbleToDeck() and c:IsCanBeEffectTarget(e)
54+
end
55+
function s.rescon(sg,e,tp,mg)
56+
local gy_sg,field_sg=sg:Split(Card.IsLocation,nil,LOCATION_GRAVE)
57+
return #gy_sg==2 and #field_sg==1 and field_sg:GetFirst():IsType(gy_sg:GetBitwiseOr(Card.GetMainCardType))
58+
end
59+
function s.tdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
60+
if chkc then return false end
61+
local g=Duel.GetMatchingGroup(s.tdfilter,tp,LOCATION_GRAVE|LOCATION_ONFIELD,LOCATION_ONFIELD,nil,e)
62+
if chk==0 then return #g>=3 and aux.SelectUnselectGroup(g,e,tp,3,3,s.rescon,0) end
63+
local tg=aux.SelectUnselectGroup(g,e,tp,3,3,s.rescon,1,tp,HINTMSG_TODECK)
64+
Duel.SetTargetCard(tg)
65+
Duel.SetOperationInfo(0,CATEGORY_TODECK,tg,3,tp,0)
66+
end
67+
function s.tdop(e,tp,eg,ep,ev,re,r,rp)
68+
local tg=Duel.GetTargetCards(e)
69+
if #tg==3 then
70+
Duel.SendtoDeck(tg,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
71+
end
72+
end
73+
function s.regop(e,tp,eg,ep,ev,re,r,rp)
74+
local c=e:GetHandler()
75+
local ct=eg:FilterCount(Card.IsMonster,nil)
76+
if ct==0 or eg:IsContains(c) then return end
77+
if ct>=2 or c:HasFlagEffect(id+100) then
78+
Duel.RaiseSingleEvent(c,EVENT_CUSTOM+id,re,r,rp,ep,ev)
79+
end
80+
local eff=Duel.GetChainInfo(0,CHAININFO_TRIGGERING_EFFECT)
81+
if eff then
82+
c:RegisterFlagEffect(id+100,RESET_EVENT|RESETS_STANDARD|RESET_CHAIN,0,1)
83+
end
84+
end
85+
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
86+
local c=e:GetHandler()
87+
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
88+
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
89+
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,tp,0)
90+
end
91+
function s.spop(e,tp,eg,ep,ev,re,r,rp)
92+
local c=e:GetHandler()
93+
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)>0 then
94+
--Banish it when it leaves the field
95+
local e1=Effect.CreateEffect(c)
96+
e1:SetDescription(3300)
97+
e1:SetType(EFFECT_TYPE_SINGLE)
98+
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CLIENT_HINT)
99+
e1:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
100+
e1:SetValue(LOCATION_REMOVED)
101+
e1:SetReset(RESET_EVENT|RESETS_REDIRECT)
102+
c:RegisterEffect(e1,true)
103+
end
104+
end

pre-release/c101303043.lua

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
--K9-EX ”Ripper/M”
2+
--K9-X "Ripper/Millennia"
3+
--scripted by Naim
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
c:EnableReviveLimit()
7+
--Xyz Summon procedure: 2 Level 9 monsters
8+
Xyz.AddProcedure(c,nil,9,2)
9+
--If this card attacks a Defense Position monster, inflict piercing battle damage to your opponent
10+
local e1=Effect.CreateEffect(c)
11+
e1:SetType(EFFECT_TYPE_SINGLE)
12+
e1:SetCode(EFFECT_PIERCE)
13+
c:RegisterEffect(e1)
14+
--Shuffle up to 2 cards from your opponent's GY and/or banishment into the Deck
15+
local e2=Effect.CreateEffect(c)
16+
e2:SetDescription(aux.Stringid(id,0))
17+
e2:SetCategory(CATEGORY_TODECK)
18+
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
19+
e2:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_CARD_TARGET)
20+
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
21+
e2:SetCountLimit(1,id)
22+
e2:SetCondition(s.tdcon)
23+
e2:SetTarget(s.tdtg)
24+
e2:SetOperation(s.tdop)
25+
c:RegisterEffect(e2)
26+
--Negate a monster effect your opponent activates and destroy all cards on the field
27+
local e3=Effect.CreateEffect(c)
28+
e3:SetDescription(aux.Stringid(id,1))
29+
e3:SetCategory(CATEGORY_DISABLE+CATEGORY_DESTROY)
30+
e3:SetType(EFFECT_TYPE_QUICK_O)
31+
e3:SetCode(EVENT_CHAINING)
32+
e3:SetRange(LOCATION_MZONE)
33+
e3:SetCountLimit(1,{id,1})
34+
e3:SetCondition(function(e,tp,eg,ep,ev,re,r,rp) return rp==1-tp and re:IsMonsterEffect() and Duel.IsChainDisablable(ev) end)
35+
e3:SetCost(Cost.DetachFromSelf(2))
36+
e3:SetTarget(s.distg)
37+
e3:SetOperation(s.disop)
38+
c:RegisterEffect(e3)
39+
end
40+
s.listed_series={SET_K9}
41+
function s.tdcon(e,tp,eg,ep,ev,re,r,rp)
42+
return re and re:GetHandler():IsSetCard(SET_K9) and re:IsSpellTrapEffect()
43+
end
44+
function s.tdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
45+
if chkc then return chkc:IsLocation(LOCATION_GRAVE|LOCATION_REMOVED) and chkc:IsControler(1-tp) and chkc:IsAbleToDeck() end
46+
if chk==0 then return Duel.IsExistingTarget(Card.IsAbleToDeck,tp,0,LOCATION_GRAVE|LOCATION_REMOVED,1,nil) end
47+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
48+
local g=Duel.SelectTarget(tp,Card.IsAbleToDeck,tp,0,LOCATION_GRAVE|LOCATION_REMOVED,1,2,nil)
49+
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,#g,tp,0)
50+
end
51+
function s.tdop(e,tp,eg,ep,ev,re,r,rp)
52+
local tg=Duel.GetTargetCards(e)
53+
if #tg>0 then
54+
Duel.SendtoDeck(tg,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
55+
end
56+
end
57+
function s.distg(e,tp,eg,ep,ev,re,r,rp,chk)
58+
local g=Duel.GetFieldGroup(tp,LOCATION_ONFIELD,LOCATION_ONFIELD)
59+
if chk==0 then return #g>0 end
60+
Duel.SetOperationInfo(0,CATEGORY_DISABLE,eg,1,tp,0)
61+
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,#g,tp,0)
62+
end
63+
function s.disop(e,tp,eg,ep,ev,re,r,rp)
64+
if Duel.NegateEffect(ev) then
65+
local g=Duel.GetFieldGroup(tp,LOCATION_ONFIELD,LOCATION_ONFIELD)
66+
if #g>0 then
67+
Duel.BreakEffect()
68+
Duel.Destroy(g,REASON_EFFECT)
69+
end
70+
end
71+
end

pre-release/c101303049.lua

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
--絢嵐たる海霊ヴァルルーン
2+
--Radiant Typhoon Varuroon, the Sea Spirit
3+
--Scripted by Eerie Code
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
c:EnableReviveLimit()
7+
--Link Summon procedure: 2 "Radiant Typhoon" monsters
8+
Link.AddProcedure(c,aux.FilterBoolFunctionEx(Card.IsSetCard,SET_RADIANT_TYPHOON),2)
9+
--Add 1 "Mystical Space Typhoon" from your Deck or GY to your hand
10+
local e1=Effect.CreateEffect(c)
11+
e1:SetDescription(aux.Stringid(id,0))
12+
e1:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)
13+
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
14+
e1:SetProperty(EFFECT_FLAG_DELAY)
15+
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
16+
e1:SetCountLimit(1,{id,0})
17+
e1:SetCondition(function(e) return e:GetHandler():IsLinkSummoned() end)
18+
e1:SetTarget(s.thtg)
19+
e1:SetOperation(s.thop)
20+
c:RegisterEffect(e1)
21+
--Place 2 face-up monsters on the field, including a "Radiant Typhoon" monster you control face-up in their owners' Spell & Trap Zones as Continuous Spells
22+
local e2=Effect.CreateEffect(c)
23+
e2:SetDescription(aux.Stringid(id,1))
24+
e2:SetType(EFFECT_TYPE_IGNITION)
25+
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
26+
e2:SetRange(LOCATION_MZONE)
27+
e2:SetCountLimit(1,{id,1})
28+
e2:SetTarget(s.monpltg)
29+
e2:SetOperation(s.monplop)
30+
c:RegisterEffect(e2)
31+
--Place 1 "Radiant Typhoon" Continuous Trap from your Deck or GY face-up on your field
32+
local e3=Effect.CreateEffect(c)
33+
e3:SetDescription(aux.Stringid(id,2))
34+
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
35+
e3:SetProperty(EFFECT_FLAG_DELAY)
36+
e3:SetCode(EVENT_CHAINING)
37+
e3:SetRange(LOCATION_MZONE)
38+
e3:SetCountLimit(1,{id,2})
39+
e3:SetCondition(function(e,tp,eg,ep,ev,re,r,rp) return re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsSpellEffect() and re:IsActiveType(TYPE_QUICKPLAY) end)
40+
e3:SetTarget(s.trappltg)
41+
e3:SetOperation(s.trapplop)
42+
c:RegisterEffect(e3)
43+
end
44+
s.listed_series={SET_RADIANT_TYPHOON}
45+
s.listed_names={CARD_MYSTICAL_SPACE_TYPHOON}
46+
function s.thfilter(c)
47+
return c:IsCode(CARD_MYSTICAL_SPACE_TYPHOON) and c:IsAbleToHand()
48+
end
49+
function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
50+
if chk==0 then return Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_DECK|LOCATION_GRAVE,0,1,nil) end
51+
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK|LOCATION_GRAVE)
52+
end
53+
function s.thop(e,tp,eg,ep,ev,re,r,rp)
54+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
55+
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.thfilter),tp,LOCATION_DECK|LOCATION_GRAVE,0,1,1,nil)
56+
if #g>0 then
57+
Duel.SendtoHand(g,nil,REASON_EFFECT)
58+
Duel.ConfirmCards(1-tp,g)
59+
end
60+
end
61+
function s.monplfilter(c,e)
62+
return c:IsFaceup() and not c:IsForbidden() and c:IsCanBeEffectTarget(e)
63+
end
64+
function s.rescon(sg,e,tp)
65+
local your_g,opp_g=sg:Split(Card.IsOwner,nil,tp)
66+
return #sg==2 and #your_g>0 and your_g:IsExists(Card.IsSetCard,1,nil,SET_RADIANT_TYPHOON)
67+
and Duel.GetLocationCount(tp,LOCATION_SZONE)>=#your_g
68+
and Duel.GetLocationCount(1-tp,LOCATION_SZONE)>=#opp_g
69+
end
70+
function s.monpltg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
71+
if chkc then return false end
72+
local g=Duel.GetMatchingGroup(s.monplfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil,e)
73+
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0
74+
and aux.SelectUnselectGroup(g,e,tp,2,2,s.rescon,0) end
75+
local tg=aux.SelectUnselectGroup(g,e,tp,2,2,s.rescon,1,tp,HINTMSG_TOFIELD)
76+
Duel.SetTargetCard(tg)
77+
end
78+
function s.monplop(e,tp,eg,ep,ev,re,r,rp)
79+
local c=e:GetHandler()
80+
local tg=Duel.GetTargetCards(e)
81+
for tc in tg:Iter() do
82+
if not tc:IsImmuneToEffect(e) then
83+
local owner=tc:GetOwner()
84+
if Duel.GetLocationCount(owner,LOCATION_SZONE)<=0 then
85+
Duel.SendtoGrave(tc,REASON_RULE,nil,PLAYER_NONE)
86+
elseif Duel.MoveToField(tc,tp,owner,LOCATION_SZONE,POS_FACEUP,tc:IsMonsterCard()) then
87+
--Treated as a Continuous Spell
88+
local e1=Effect.CreateEffect(c)
89+
e1:SetType(EFFECT_TYPE_SINGLE)
90+
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
91+
e1:SetCode(EFFECT_CHANGE_TYPE)
92+
e1:SetValue(TYPE_SPELL|TYPE_CONTINUOUS)
93+
e1:SetReset(RESET_EVENT|(RESETS_STANDARD&~RESET_TURN_SET))
94+
tc:RegisterEffect(e1)
95+
end
96+
end
97+
end
98+
end
99+
function s.trapplfilter(c,tp)
100+
return c:IsSetCard(SET_RADIANT_TYPHOON) and c:IsContinuousTrap() and not c:IsForbidden() and c:CheckUniqueOnField(tp)
101+
end
102+
function s.trappltg(e,tp,eg,ep,ev,re,r,rp,chk)
103+
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0
104+
and Duel.IsExistingMatchingCard(s.trapplfilter,tp,LOCATION_DECK|LOCATION_GRAVE,0,1,nil,tp) end
105+
end
106+
function s.trapplop(e,tp,eg,ep,ev,re,r,rp)
107+
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
108+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
109+
local sc=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.trapplfilter),tp,LOCATION_DECK|LOCATION_GRAVE,0,1,1,nil,tp):GetFirst()
110+
if sc then
111+
Duel.MoveToField(sc,tp,tp,LOCATION_SZONE,POS_FACEUP,true)
112+
end
113+
end

pre-release/c101303065.lua

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
--絢嵐たる軒昂
2+
--Radiant Typhoon Elation
3+
--Scripted by Eerie Code
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Activate 1 of these effects
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetDescription(aux.Stringid(id,0))
9+
e1:SetType(EFFECT_TYPE_ACTIVATE)
10+
e1:SetCode(EVENT_FREE_CHAIN)
11+
e1:SetTarget(s.efftg)
12+
e1:SetOperation(s.effop)
13+
e1:SetHintTiming(0,TIMING_STANDBY_PHASE|TIMING_MAIN_END|TIMINGS_CHECK_MONSTER_E)
14+
c:RegisterEffect(e1)
15+
--Set this card
16+
local e2=Effect.CreateEffect(c)
17+
e2:SetDescription(aux.Stringid(id,1))
18+
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
19+
e2:SetProperty(EFFECT_FLAG_DELAY)
20+
e2:SetCode(EVENT_DESTROYED)
21+
e2:SetCondition(function(e,tp,eg,ep,ev,re,r,rp) return re and re:GetHandler():IsCode(CARD_MYSTICAL_SPACE_TYPHOON) end)
22+
e2:SetTarget(s.settg)
23+
e2:SetOperation(s.setop)
24+
c:RegisterEffect(e2)
25+
end
26+
s.listed_names={CARD_MYSTICAL_SPACE_TYPHOON}
27+
s.listed_series={SET_RADIANT_TYPHOON}
28+
function s.spfilter(c,e,tp)
29+
return c:IsLevelBelow(6) and c:IsSetCard(SET_RADIANT_TYPHOON) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
30+
end
31+
function s.thfilter(c)
32+
return c:IsCode(CARD_MYSTICAL_SPACE_TYPHOON) and c:IsAbleToHand()
33+
end
34+
function s.efftg(e,tp,eg,ep,ev,re,r,rp,chk)
35+
local b1=not Duel.HasFlagEffect(tp,id)
36+
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
37+
and Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp)
38+
local b2=not Duel.HasFlagEffect(tp,id+100)
39+
and Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_DECK|LOCATION_GRAVE,0,1,nil)
40+
if chk==0 then return b1 or b2 end
41+
local op=Duel.SelectEffect(tp,
42+
{b1,aux.Stringid(id,2)},
43+
{b2,aux.Stringid(id,3)})
44+
e:SetLabel(op)
45+
if op==1 then
46+
e:SetCategory(CATEGORY_SPECIAL_SUMMON)
47+
Duel.RegisterFlagEffect(tp,id,RESET_PHASE|PHASE_END,0,1)
48+
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
49+
elseif op==2 then
50+
e:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)
51+
Duel.RegisterFlagEffect(tp,id+100,RESET_PHASE|PHASE_END,0,1)
52+
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK|LOCATION_GRAVE)
53+
end
54+
end
55+
function s.effop(e,tp,eg,ep,ev,re,r,rp)
56+
local op=e:GetLabel()
57+
if op==1 then
58+
--Special Summon 1 Level 6 or lower "Radiant Typoon" monster from your GY
59+
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
60+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
61+
local g=Duel.SelectMatchingCard(tp,s.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
62+
if #g>0 then
63+
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
64+
end
65+
elseif op==2 then
66+
--Add 1 "Mystical Space Typhoon" from your Deck or GY to your hand
67+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
68+
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.thfilter),tp,LOCATION_DECK|LOCATION_GRAVE,0,1,1,nil)
69+
if #g>0 then
70+
Duel.SendtoHand(g,nil,REASON_EFFECT)
71+
Duel.ConfirmCards(1-tp,g)
72+
end
73+
end
74+
end
75+
function s.settg(e,tp,eg,ep,ev,re,r,rp,chk)
76+
local c=e:GetHandler()
77+
if chk==0 then return c:IsSSetable() end
78+
if c:IsLocation(LOCATION_GRAVE) then
79+
Duel.SetOperationInfo(0,CATEGORY_LEAVE_GRAVE,c,1,tp,0)
80+
end
81+
end
82+
function s.setop(e,tp,eg,ep,ev,re,r,rp)
83+
local c=e:GetHandler()
84+
if c:IsRelateToEffect(e) then
85+
Duel.SSet(tp,c)
86+
end
87+
end

0 commit comments

Comments
 (0)