Skip to content

Commit 56821cf

Browse files
authored
Added new card scripts
1 parent 0b82696 commit 56821cf

File tree

4 files changed

+326
-0
lines changed

4 files changed

+326
-0
lines changed

pre-release/c100447101.lua

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
--セイクリッド・カストル
2+
--Constellar Castor
3+
--scripted by Naim
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Special Summon 1 "Constellar" monster from your Deck
7+
local e1a=Effect.CreateEffect(c)
8+
e1a:SetDescription(aux.Stringid(id,0))
9+
e1a:SetCategory(CATEGORY_SPECIAL_SUMMON)
10+
e1a:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
11+
e1a:SetProperty(EFFECT_FLAG_DELAY)
12+
e1a:SetCode(EVENT_SUMMON_SUCCESS)
13+
e1a:SetCountLimit(1,id)
14+
e1a:SetTarget(s.sptg)
15+
e1a:SetOperation(s.spop)
16+
c:RegisterEffect(e1a)
17+
local e1b=e1a:Clone()
18+
e1b:SetCode(EVENT_FLIP_SUMMON_SUCCESS)
19+
c:RegisterEffect(e1b)
20+
local e1c=e1a:Clone()
21+
e1c:SetCode(EVENT_SPSUMMON_SUCCESS)
22+
c:RegisterEffect(e1c)
23+
--A "Constellar" Xyz Monster that has this card as material gains this effect: Negate a Spell or effect activated by the opponent, and if you do, destroy that card
24+
local e2=Effect.CreateEffect(c)
25+
e2:SetDescription(aux.Stringid(id,1))
26+
e2:SetCategory(CATEGORY_DISABLE+CATEGORY_DESTROY)
27+
e2:SetType(EFFECT_TYPE_XMATERIAL+EFFECT_TYPE_QUICK_O)
28+
e2:SetCode(EVENT_CHAINING)
29+
e2:SetRange(LOCATION_MZONE)
30+
e2:SetCountLimit(1)
31+
e2:SetCondition(s.discon)
32+
e2:SetTarget(s.distg)
33+
e2:SetOperation(s.disop)
34+
c:RegisterEffect(e2)
35+
end
36+
s.listed_series={SET_CONSTELLAR}
37+
s.listed_names={id}
38+
function s.spfilter(c,e,tp)
39+
return c:IsSetCard(SET_CONSTELLAR) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and not c:IsCode(id)
40+
end
41+
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
42+
--Excluding itself for a proper interaction with "Tellarknight Constellar Caduceus" [58858807]
43+
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
44+
and Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_DECK,0,1,e:GetHandler(),e,tp) end
45+
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
46+
end
47+
function s.spop(e,tp,eg,ep,ev,re,r,rp)
48+
local c=e:GetHandler()
49+
--You cannot Special Summon from the Extra Deck for the rest of this turn, except DARK monsters
50+
local e1=Effect.CreateEffect(c)
51+
e1:SetDescription(aux.Stringid(id,2))
52+
e1:SetType(EFFECT_TYPE_FIELD)
53+
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
54+
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
55+
e1:SetTargetRange(1,0)
56+
e1:SetTarget(function(e,c) return c:IsLocation(LOCATION_EXTRA) and not c:IsAttribute(ATTRIBUTE_DARK|ATTRIBUTE_LIGHT) end)
57+
e1:SetReset(RESET_PHASE|PHASE_END)
58+
Duel.RegisterEffect(e1,tp)
59+
--"Clock Lizard" check
60+
aux.addTempLizardCheck(c,tp,function(e,c) return not c:IsOriginalAttribute(ATTRIBUTE_DARK|ATTRIBUTE_LIGHT) end)
61+
--Special Summon 1 "Constellar" monster from your Deck
62+
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
63+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
64+
local g=Duel.SelectMatchingCard(tp,s.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
65+
if #g>0 then
66+
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
67+
end
68+
end
69+
function s.discon(e,tp,eg,ep,ev,re,r,rp)
70+
return e:GetHandler():IsSetCard(SET_CONSTELLAR) and rp==1-tp and re:IsSpellEffect() and Duel.IsChainDisablable(ev)
71+
end
72+
function s.distg(e,tp,eg,ep,ev,re,r,rp,chk)
73+
if chk==0 then return Duel.CheckRemoveOverlayCard(tp,1,0,2,REASON_EFFECT) end
74+
local rc=re:GetHandler()
75+
Duel.SetOperationInfo(0,CATEGORY_DISABLE,eg,1,tp,0)
76+
if rc:IsDestructable() and rc:IsRelateToEffect(re) then
77+
Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,1,tp,0)
78+
end
79+
end
80+
function s.disop(e,tp,eg,ep,ev,re,r,rp)
81+
if Duel.RemoveOverlayCard(tp,1,0,2,2,REASON_EFFECT)==2 and Duel.NegateEffect(ev)
82+
and re:GetHandler():IsRelateToEffect(re) then
83+
Duel.Destroy(eg,REASON_EFFECT)
84+
end
85+
end

pre-release/c100447102.lua

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
--星騎士 キュグニ
2+
--Tellarknight Cygnian
3+
--Scripted by ahtelel
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
--Add 1 "tellarknight" or "Constellar" monster from your Deck to your hand
7+
local e1a=Effect.CreateEffect(c)
8+
e1a:SetDescription(aux.Stringid(id,0))
9+
e1a:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
10+
e1a:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
11+
e1a:SetProperty(EFFECT_FLAG_DELAY)
12+
e1a:SetCode(EVENT_SUMMON_SUCCESS)
13+
e1a:SetCountLimit(1,id)
14+
e1a:SetTarget(s.thtg)
15+
e1a:SetOperation(s.thop)
16+
c:RegisterEffect(e1a)
17+
local e1b=e1a:Clone()
18+
e1b:SetCode(EVENT_FLIP_SUMMON_SUCCESS)
19+
c:RegisterEffect(e1b)
20+
local e1c=e1a:Clone()
21+
e1c:SetCode(EVENT_SPSUMMON_SUCCESS)
22+
c:RegisterEffect(e1c)
23+
--Increase this card and another LIGHT monster's Level by 1
24+
local e2=Effect.CreateEffect(c)
25+
e2:SetDescription(aux.Stringid(id,1))
26+
e2:SetCategory(CATEGORY_LVCHANGE)
27+
e2:SetType(EFFECT_TYPE_IGNITION)
28+
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
29+
e2:SetRange(LOCATION_MZONE)
30+
e2:SetCountLimit(1,{id,1})
31+
e2:SetTarget(s.lvtg)
32+
e2:SetOperation(s.lvop)
33+
c:RegisterEffect(e2)
34+
--Can be treated as 2 Materials for the Xyz Summon of a "tellarknight" Xyz monster that requires 3 or more materials
35+
local e3=Effect.CreateEffect(c)
36+
e3:SetType(EFFECT_TYPE_SINGLE)
37+
e3:SetCode(EFFECT_DOUBLE_XYZ_MATERIAL)
38+
e3:SetCountLimit(1,{id,2})
39+
e3:SetValue(1)
40+
e3:SetOperation(function(e,c) return c.minxyzct and c.minxyzct>=3 and c:IsSetCard(SET_TELLARKNIGHT) end)
41+
c:RegisterEffect(e3)
42+
end
43+
s.listed_series={SET_TELLARKNIGHT,SET_CONSTELLAR}
44+
function s.thfilter(c)
45+
return c:IsSetCard({SET_TELLARKNIGHT,SET_CONSTELLAR}) and c:IsMonster() and c:IsAbleToHand()
46+
end
47+
function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
48+
if chk==0 then return Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_DECK,0,1,nil) end
49+
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
50+
end
51+
function s.thop(e,tp,eg,ep,ev,re,r,rp)
52+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
53+
local g=Duel.SelectMatchingCard(tp,s.thfilter,tp,LOCATION_DECK,0,1,1,nil)
54+
if #g>0 then
55+
Duel.SendtoHand(g,nil,REASON_EFFECT)
56+
Duel.ConfirmCards(1-tp,g)
57+
end
58+
end
59+
function s.lvfilter(c)
60+
return c:IsAttribute(ATTRIBUTE_LIGHT) and c:HasLevel() and c:IsFaceup()
61+
end
62+
function s.lvtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
63+
local c=e:GetHandler()
64+
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and chkc~=c and s.lvfilter(chkc) end
65+
if chk==0 then return Duel.IsExistingTarget(s.lvfilter,tp,LOCATION_MZONE,0,1,c) end
66+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
67+
Duel.SelectTarget(tp,s.lvfilter,tp,LOCATION_MZONE,0,1,1,c)
68+
end
69+
function s.lvop(e,tp,eg,ep,ev,re,r,rp)
70+
local c=e:GetHandler()
71+
local tc=Duel.GetFirstTarget()
72+
if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) and c:IsFaceup() and tc:IsFaceup() then
73+
--Increase both their Level by 1
74+
local e1=Effect.CreateEffect(c)
75+
e1:SetType(EFFECT_TYPE_SINGLE)
76+
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
77+
e1:SetCode(EFFECT_UPDATE_LEVEL)
78+
e1:SetValue(1)
79+
e1:SetReset(RESET_EVENT|RESETS_STANDARD)
80+
c:RegisterEffect(e1)
81+
local e2=e1:Clone()
82+
tc:RegisterEffect(e2)
83+
end
84+
end

pre-release/c100447103.lua

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
--超神星輝士 セイクリッド・トレミスΩ7
2+
--Exstellarknight Constellar Ptolemy Ω7
3+
--Scripted by ahtelel
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
c:EnableReviveLimit()
7+
--Xyz Summon procedure: 3 Level 7 monsters OR 1 "tellarknight" or "Constellar" Xyz Monster you control
8+
Xyz.AddProcedure(c,nil,7,3,s.ovfilter,aux.Stringid(id,0),3,s.xyzop)
9+
--While you have 7 or more "tellarknight" monsters with different names in your GY and/or banishment, this card gains 2700 ATK/DEF, also it is unaffected by your opponent's activated effects
10+
local e1a=Effect.CreateEffect(c)
11+
e1a:SetType(EFFECT_TYPE_SINGLE)
12+
e1a:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
13+
e1a:SetCode(EFFECT_UPDATE_ATTACK)
14+
e1a:SetRange(LOCATION_MZONE)
15+
e1a:SetCondition(s.atkdefimmcon)
16+
e1a:SetValue(2700)
17+
c:RegisterEffect(e1a)
18+
local e1b=e1a:Clone()
19+
e1b:SetCode(EFFECT_UPDATE_DEFENSE)
20+
c:RegisterEffect(e1b)
21+
local e1c=e1a:Clone()
22+
e1c:SetCode(EFFECT_IMMUNE_EFFECT)
23+
e1c:SetValue(function(e,te) return te:GetOwnerPlayer()~=e:GetHandlerPlayer() and te:IsActivated() end)
24+
c:RegisterEffect(e1c)
25+
--Shuffle opponent's monsters into the deck based on the number of materials you detach from this card
26+
local e2=Effect.CreateEffect(c)
27+
e2:SetDescription(aux.Stringid(id,1))
28+
e2:SetCategory(CATEGORY_TODECK)
29+
e2:SetType(EFFECT_TYPE_QUICK_O)
30+
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
31+
e2:SetCode(EVENT_FREE_CHAIN)
32+
e2:SetRange(LOCATION_MZONE)
33+
e2:SetCountLimit(1)
34+
e2:SetCost(Cost.DetachFromSelf(1,function(e,tp) return Duel.GetTargetCount(Card.IsAbleToDeck,tp,0,LOCATION_MZONE,nil) end,function(e,og) e:SetLabel(#og) end))
35+
e2:SetTarget(s.tdtg)
36+
e2:SetOperation(s.tdop)
37+
e2:SetHintTiming(0,TIMING_STANDBY_PHASE|TIMING_MAIN_END|TIMINGS_CHECK_MONSTER_E)
38+
c:RegisterEffect(e2)
39+
end
40+
s.listed_series={SET_TELLARKNIGHT,SET_CONSTELLAR}
41+
s.listed_names={id}
42+
function s.ovfilter(c,tp,xyzc)
43+
return c:IsSetCard({SET_TELLARKNIGHT,SET_CONSTELLAR},xyzc,SUMMON_TYPE_XYZ,tp) and c:IsType(TYPE_XYZ,xyzc,SUMMON_TYPE_XYZ,tp) and c:IsFaceup()
44+
end
45+
function s.xyzop(e,tp,chk)
46+
if chk==0 then return Duel.IsMainPhase2(tp) and not Duel.HasFlagEffect(tp,id) end
47+
return Duel.RegisterFlagEffect(tp,id,RESET_PHASE|PHASE_END,EFFECT_FLAG_OATH,1)
48+
end
49+
function s.atkdefimmfilter(c)
50+
return c:IsSetCard(SET_TELLARKNIGHT) and c:IsMonster() and c:IsFaceup()
51+
end
52+
function s.atkdefimmcon(e,c)
53+
return Duel.GetMatchingGroup(s.atkdefimmfilter,e:GetHandlerPlayer(),LOCATION_GRAVE|LOCATION_REMOVED,0,nil):GetClassCount(Card.GetCode)>=7
54+
end
55+
function s.tdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
56+
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(1-tp) and chkc:IsAbleToDeck() end
57+
if chk==0 then return Duel.IsExistingTarget(Card.IsAbleToDeck,tp,0,LOCATION_MZONE,1,nil) end
58+
local ct=e:GetLabel()
59+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
60+
local g=Duel.SelectTarget(tp,Card.IsAbleToDeck,tp,0,LOCATION_MZONE,ct,ct,nil)
61+
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,#g,tp,0)
62+
end
63+
function s.tdop(e,tp,eg,ep,ev,re,r,rp)
64+
local tg=Duel.GetTargetCards(e)
65+
if #tg>0 then
66+
Duel.SendtoDeck(tg,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
67+
end
68+
end

pre-release/c100447104.lua

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
--星騎士 セイクリッド・デルタテロス
2+
--Tellarknight Constellar Delteros
3+
--scripted by Naim
4+
local s,id=GetID()
5+
function s.initial_effect(c)
6+
c:EnableReviveLimit()
7+
--Xyz Summon procedure: 3+ Level 4 monsters
8+
Xyz.AddProcedure(c,nil,4,3,nil,nil,Xyz.InfiniteMats)
9+
--Your opponent cannot target Rank 5 or higher "tellarknight" or "Constellar" Xyz Monsters you control with card effects
10+
local e1=Effect.CreateEffect(c)
11+
e1:SetType(EFFECT_TYPE_FIELD)
12+
e1:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
13+
e1:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
14+
e1:SetRange(LOCATION_MZONE)
15+
e1:SetTargetRange(LOCATION_MZONE,0)
16+
e1:SetTarget(s.tellarkR5filter)
17+
e1:SetValue(aux.tgoval)
18+
c:RegisterEffect(e1)
19+
--Add 1 "tellarknight" or "Constellar" monster from your Deck to your hand, then immediately after this effect resolves, you can Normal Summon 1 LIGHT monster
20+
local e2=Effect.CreateEffect(c)
21+
e2:SetDescription(aux.Stringid(id,0))
22+
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_SUMMON)
23+
e2:SetType(EFFECT_TYPE_IGNITION)
24+
e2:SetRange(LOCATION_MZONE)
25+
e2:SetCountLimit(1)
26+
e2:SetCost(Cost.DetachFromSelf(1))
27+
e2:SetTarget(s.thtg)
28+
e2:SetOperation(s.thop)
29+
c:RegisterEffect(e2)
30+
--Special Summon 1 "tellarknight" or "Constellar" monster from your hand or banishment
31+
local e3=Effect.CreateEffect(c)
32+
e3:SetDescription(aux.Stringid(id,1))
33+
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
34+
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
35+
e3:SetProperty(EFFECT_FLAG_DELAY)
36+
e3:SetCode(EVENT_TO_GRAVE)
37+
e3:SetCondition(function(e) return not e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD) end)
38+
e3:SetTarget(s.sptg)
39+
e3:SetOperation(s.spop)
40+
c:RegisterEffect(e3)
41+
end
42+
s.listed_series={SET_TELLARKNIGHT,SET_CONSTELLAR}
43+
function s.tellarkR5filter(e,c)
44+
return c:IsSetCard({SET_TELLARKNIGHT,SET_CONSTELLAR}) and c:IsRankAbove(5) and c:IsFaceup()
45+
end
46+
function s.thfilter(c)
47+
return c:IsSetCard({SET_TELLARKNIGHT,SET_CONSTELLAR}) and c:IsMonster() 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,0,1,nil) end
51+
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
52+
Duel.SetPossibleOperationInfo(0,CATEGORY_SUMMON,nil,1,tp,LOCATION_HAND|LOCATION_MZONE)
53+
end
54+
function s.nsfilter(c)
55+
return c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsSummonable(true,nil)
56+
end
57+
function s.thop(e,tp,eg,ep,ev,re,r,rp)
58+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
59+
local g=Duel.SelectMatchingCard(tp,s.thfilter,tp,LOCATION_DECK,0,1,1,nil)
60+
if #g>0 and Duel.SendtoHand(g,nil,REASON_EFFECT)>0 then
61+
Duel.ConfirmCards(1-tp,g)
62+
Duel.ShuffleHand(tp)
63+
if Duel.IsExistingMatchingCard(s.nsfilter,tp,LOCATION_HAND|LOCATION_MZONE,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(id,2)) then
64+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SUMMON)
65+
local sc=Duel.SelectMatchingCard(tp,s.nsfilter,tp,LOCATION_HAND|LOCATION_MZONE,0,1,1,nil):GetFirst()
66+
if sc then
67+
Duel.BreakEffect()
68+
Duel.Summon(tp,sc,true,nil)
69+
end
70+
end
71+
end
72+
end
73+
function s.spfilter(c,e,tp)
74+
return c:IsSetCard({SET_TELLARKNIGHT,SET_CONSTELLAR}) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
75+
and (c:IsFaceup() or c:IsLocation(LOCATION_HAND))
76+
end
77+
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
78+
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
79+
and Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_HAND|LOCATION_REMOVED,0,1,nil,e,tp) end
80+
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND|LOCATION_REMOVED)
81+
end
82+
function s.spop(e,tp,eg,ep,ev,re,r,rp)
83+
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
84+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
85+
local g=Duel.SelectMatchingCard(tp,s.spfilter,tp,LOCATION_HAND|LOCATION_REMOVED,0,1,1,nil,e,tp)
86+
if #g>0 then
87+
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
88+
end
89+
end

0 commit comments

Comments
 (0)