Skip to content

Commit 4f7b36d

Browse files
committed
Rush scripts updates
Added hints to be used with some cards when the user is prompted to select other cards
1 parent 4dbf5d6 commit 4f7b36d

File tree

9 files changed

+66
-59
lines changed

9 files changed

+66
-59
lines changed

rush/c160001031.lua

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
--守護の竜魔導士
22
--Defender of Dragon Sorcerers
3-
43
local s,id=GetID()
54
function s.initial_effect(c)
65
--Make 1 of your monsters unable to be destroyed by opponent's card effects
76
local e1=Effect.CreateEffect(c)
7+
e1:SetDescription(aux.Stringid(id,0))
88
e1:SetType(EFFECT_TYPE_IGNITION)
99
e1:SetRange(LOCATION_MZONE)
1010
e1:SetCountLimit(1)
@@ -29,9 +29,10 @@ function s.operation(e,tp,eg,ep,ev,re,r,rp)
2929
local g=Duel.SelectMatchingCard(tp,s.costfilter,tp,LOCATION_HAND,0,1,1,nil)
3030
Duel.SendtoGrave(g,REASON_COST)
3131
--Effect
32-
local tc=Duel.SelectMatchingCard(tp,aux.TRUE,tp,LOCATION_MZONE,0,1,1,nil):GetFirst()
32+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_APPLYTO)
33+
local tc=Duel.SelectMatchingCard(tp,nil,tp,LOCATION_MZONE,0,1,1,nil):GetFirst()
3334
if tc then
34-
Duel.HintSelection(Group.FromCards(tc))
35+
Duel.HintSelection(tc)
3536
local e1=Effect.CreateEffect(e:GetHandler())
3637
e1:SetDescription(3060)
3738
e1:SetProperty(EFFECT_FLAG_CLIENT_HINT)

rush/c160002036.lua

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22
--Road Magic - Tectonic Shift
33
local s,id=GetID()
44
function s.initial_effect(c)
5-
--Activate
5+
--1 face-up monster on your opponent's field loses ATK equal to the ATK of the monster with the highest ATK in your Graveyard
66
local e1=Effect.CreateEffect(c)
7+
e1:SetDescription(aux.Stringid(id,0))
78
e1:SetCategory(CATEGORY_ATKCHANGE)
89
e1:SetType(EFFECT_TYPE_ACTIVATE)
910
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
@@ -36,6 +37,7 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
3637
--Effect
3738
local g=Duel.GetMatchingGroup(Card.IsMonster,tp,LOCATION_GRAVE,0,nil)
3839
if #g==0 then return end
40+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATKDEF)
3941
local tc=Duel.SelectMatchingCard(tp,aux.FilterMaximumSideFunctionEx(Card.IsFaceup),tp,0,LOCATION_MZONE,1,1,nil):GetFirst()
4042
Duel.HintSelection(tc)
4143
local gc=g:GetMaxGroup(Card.GetAttack):GetFirst()

rush/c160002043.lua

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
--属性変更弾
22
--Attribute Shift Bomb
33
--Scripted by Naim
4-
54
local s,id=GetID()
65
function s.initial_effect(c)
76
--Change the attribute for up to 3 of opponent's monsters
87
local e1=Effect.CreateEffect(c)
8+
e1:SetDescription(aux.Stringid(id,0))
99
e1:SetType(EFFECT_TYPE_ACTIVATE)
1010
e1:SetCode(EVENT_FREE_CHAIN)
1111
e1:SetTarget(s.target)
@@ -24,22 +24,21 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
2424
end
2525
function s.activate(e,tp,eg,ep,ev,re,r,rp)
2626
local tg=Duel.SelectMatchingCard(tp,s.rvfilter,tp,LOCATION_HAND,0,1,1,nil,tp):GetFirst()
27-
if tg then
28-
Duel.ConfirmCards(1-tp,tg)
29-
Duel.ShuffleHand(tp)
30-
if Duel.GetMatchingGroupCount(aux.FilterMaximumSideFunctionEx(s.attfilter,tg:GetAttribute()),tp,0,LOCATION_MZONE,nil,tg:GetAttribute())>0 then
31-
local g=Duel.SelectMatchingCard(tp,aux.FilterMaximumSideFunctionEx(s.attfilter,tg:GetAttribute()),tp,0,LOCATION_MZONE,1,3,nil,tg:GetAttribute())
32-
if g and #g>0 then
33-
Duel.HintSelection(g)
34-
for tc in g:Iter() do
35-
local e1=Effect.CreateEffect(e:GetHandler())
36-
e1:SetType(EFFECT_TYPE_SINGLE)
37-
e1:SetCode(EFFECT_CHANGE_ATTRIBUTE)
38-
e1:SetValue(tg:GetAttribute())
39-
e1:SetReset(RESETS_STANDARD_PHASE_END)
40-
tc:RegisterEffect(e1)
41-
end
42-
end
27+
if #tg==0 then return end
28+
Duel.ConfirmCards(1-tp,tg)
29+
Duel.ShuffleHand(tp)
30+
if Duel.GetMatchingGroupCount(aux.FilterMaximumSideFunctionEx(s.attfilter,tg:GetAttribute()),tp,0,LOCATION_MZONE,nil,tg:GetAttribute())>0 then
31+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_APPLYTO)
32+
local g=Duel.SelectMatchingCard(tp,aux.FilterMaximumSideFunctionEx(s.attfilter,tg:GetAttribute()),tp,0,LOCATION_MZONE,1,3,nil,tg:GetAttribute())
33+
if #g==0 then return end
34+
Duel.HintSelection(g)
35+
for tc in g:Iter() do
36+
local e1=Effect.CreateEffect(e:GetHandler())
37+
e1:SetType(EFFECT_TYPE_SINGLE)
38+
e1:SetCode(EFFECT_CHANGE_ATTRIBUTE)
39+
e1:SetValue(tg:GetAttribute())
40+
e1:SetReset(RESETS_STANDARD_PHASE_END)
41+
tc:RegisterEffect(e1)
4342
end
4443
end
4544
end

rush/c160003014.lua

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
-- スパークハーツ・ガール
2-
-- Sparkhearts Girl
3-
-- Scripted by Hatter
1+
--スパークハーツ・ガール
2+
--Sparkhearts Girl
3+
--Scripted by Hatter
44
local s,id=GetID()
55
function s.initial_effect(c)
6-
-- Make 1 opponent monster lose 500 ATK
6+
--Make 1 opponent monster lose 500 ATK
77
local e1=Effect.CreateEffect(c)
88
e1:SetDescription(aux.Stringid(id,0))
99
e1:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_LEAVE_GRAVE)
@@ -15,7 +15,7 @@ function s.initial_effect(c)
1515
e1:SetOperation(s.operation)
1616
c:RegisterEffect(e1)
1717
end
18-
s.listed_names={76103675,160301014}
18+
s.listed_names={76103675,160301014} --"Sparks", "Curtain of Sparks"
1919
function s.costfilter(c)
2020
return c:IsMonster() and c:IsLevelBelow(4) and c:IsAbleToGraveAsCost()
2121
end
@@ -32,11 +32,12 @@ function s.rescon(sg,e,tp,mg)
3232
return sg:FilterCount(Card.IsCode,nil,76103675)<2 and sg:FilterCount(Card.IsCode,nil,160301014)<2
3333
end
3434
function s.operation(e,tp,eg,ep,ev,re,r,rp)
35-
local c=e:GetHandler()
36-
-- Requirement
35+
--Requirement
36+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
3737
local tg=Duel.SelectMatchingCard(tp,s.costfilter,tp,LOCATION_HAND,0,1,1,nil)
3838
if Duel.SendtoGrave(tg,REASON_COST)==1 then
39-
-- Effect
39+
--Effect
40+
local c=e:GetHandler()
4041
if c:IsRelateToEffect(e) and c:IsFaceup() then
4142
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
4243
local g=Duel.SelectMatchingCard(tp,aux.FilterMaximumSideFunctionEx(Card.IsFaceup),tp,0,LOCATION_MZONE,1,1,nil)
@@ -49,7 +50,7 @@ function s.operation(e,tp,eg,ep,ev,re,r,rp)
4950
e1:SetReset(RESETS_STANDARD_PHASE_END)
5051
g:GetFirst():RegisterEffect(e1)
5152
end
52-
-- Set cards
53+
--Set cards
5354
local ft=Duel.GetLocationCount(tp,LOCATION_SZONE)
5455
local sg=Duel.GetMatchingGroup(s.sfilter,tp,LOCATION_GRAVE,0,nil)
5556
if ft>0 and #sg>0 and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
@@ -60,4 +61,4 @@ function s.operation(e,tp,eg,ep,ev,re,r,rp)
6061
end
6162
end
6263
end
63-
end
64+
end

rush/c160003018.lua

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
--scripted by Hatter
44
local s,id=GetID()
55
function s.initial_effect(c)
6-
-- atk/def change
6+
--1 face-up monster your opponent controls loses ATK/DEF equal to the number of cards sent to the GY x 1000
77
local e1=Effect.CreateEffect(c)
88
e1:SetDescription(aux.Stringid(id,0))
99
e1:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_DEFCHANGE)
@@ -17,7 +17,6 @@ function s.initial_effect(c)
1717
c:RegisterEffect(e1)
1818
end
1919
function s.condition(e,tp,eg,ep,ev,re,r,rp)
20-
2120
return Duel.GetFieldGroupCountRush(tp,LOCATION_SZONE,0)==Duel.GetMatchingGroupCountRush(Card.IsFaceup,tp,0,LOCATION_MZONE,nil)
2221
end
2322
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
@@ -27,14 +26,15 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
2726
if chk==0 then return Duel.IsExistingMatchingCard(aux.FilterMaximumSideFunctionEx(Card.IsFaceup),tp,0,LOCATION_MZONE,1,nil) end
2827
end
2928
function s.operation(e,tp,eg,ep,ev,re,r,rp)
30-
local c=e:GetHandler()
31-
--requirement
29+
--Requirement
30+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
3231
local tg=Duel.SelectMatchingCard(tp,Card.IsAbleToGraveAsCost,tp,LOCATION_SZONE,0,1,3,nil)
3332
local sent=Duel.SendtoGrave(tg,REASON_COST)
3433
if sent>0 then
35-
--effect
34+
--Effect
35+
local c=e:GetHandler()
3636
if c:IsRelateToEffect(e) and c:IsFaceup() then
37-
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
37+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATKDEF)
3838
local g=Duel.SelectMatchingCard(tp,aux.FilterMaximumSideFunctionEx(Card.IsFaceup),tp,0,LOCATION_MZONE,1,1,nil)
3939
if #g>0 then
4040
Duel.HintSelection(g)
@@ -50,4 +50,4 @@ function s.operation(e,tp,eg,ep,ev,re,r,rp)
5050
end
5151
end
5252
end
53-
end
53+
end

rush/c160003024.lua

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
--scripted by Hatter
44
local s,id=GetID()
55
function s.initial_effect(c)
6-
-- atk change
6+
--Gains 600 ATK until the end of this turn
77
local e1=Effect.CreateEffect(c)
88
e1:SetDescription(aux.Stringid(id,0))
99
e1:SetCategory(CATEGORY_ATKCHANGE+CATEGORY_DESTROY+CATEGORY_TODECK)
@@ -14,6 +14,7 @@ function s.initial_effect(c)
1414
e1:SetOperation(s.operation)
1515
c:RegisterEffect(e1)
1616
end
17+
s.listed_names={160003022,160003023} --"Clear Ice Dragon", "Burning Blaze Dragon"
1718
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
1819
if chk==0 then return Duel.IsPlayerCanDiscardDeckAsCost(tp,1) end
1920
end
@@ -24,26 +25,29 @@ function s.rescon(sg,e,tp,mg)
2425
return sg:IsExists(Card.IsCode,1,nil,160003022) and sg:IsExists(Card.IsCode,1,nil,160003023)
2526
end
2627
function s.operation(e,tp,eg,ep,ev,re,r,rp)
27-
local c=e:GetHandler()
28-
--requirement
28+
--Requirement
2929
if Duel.DiscardDeck(tp,1,REASON_COST)<1 then return end
30-
--atk change
30+
--Effect
31+
local c=e:GetHandler()
3132
local e1=Effect.CreateEffect(c)
3233
e1:SetType(EFFECT_TYPE_SINGLE)
3334
e1:SetCode(EFFECT_UPDATE_ATTACK)
3435
e1:SetValue(600)
3536
e1:SetReset(RESETS_STANDARD_PHASE_END)
3637
c:RegisterEffect(e1)
37-
-- shuffle and destroy
38+
--Shuffle into the Deck 1 "Clear Ice Dragon" and 1 "Burning Blaze Dragon" in your GY
3839
local sg=Duel.GetMatchingGroup(s.sfilter,tp,LOCATION_GRAVE,0,nil)
3940
if aux.SelectUnselectGroup(sg,1,tp,2,2,s.rescon,0,tp) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
4041
local cg=aux.SelectUnselectGroup(sg,1,tp,2,2,s.rescon,1,tp)
4142
local sg2=Duel.GetMatchingGroup(s.desfilter,tp,0,LOCATION_MZONE,nil)
4243
if Duel.SendtoDeck(cg,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)==2 and #sg2>0 and Duel.SelectYesNo(tp,aux.Stringid(id,2)) then
44+
--Destroy 1 face-up monster with 1500 or less DEF on your opponent's field
45+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
4346
local tg=Duel.SelectMatchingCard(tp,aux.FilterMaximumSideFunctionEx(s.desfilter),tp,0,LOCATION_MZONE,1,1,nil)
44-
if #tg>0 then
47+
if #tg>0 then
4548
tg=tg:AddMaximumCheck()
46-
Duel.Destroy(tg,REASON_EFFECT) end
49+
Duel.Destroy(tg,REASON_EFFECT)
50+
end
4751
end
4852
end
4953
end

rush/c160003025.lua

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
-- 幻撃竜ミラギアス
1+
--幻撃竜ミラギアス
22
--Illusion Strike Dragon Miragias
33
local s,id=GetID()
44
function s.initial_effect(c)
5-
-- atk change
5+
--Up to 2 face-up Level 7 or lower monsters on your opponent's field lose 1500 ATK until the end of this turn.
66
local e1=Effect.CreateEffect(c)
77
e1:SetDescription(aux.Stringid(id,0))
88
e1:SetCategory(CATEGORY_ATKCHANGE)
@@ -28,11 +28,12 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
2828
end
2929
function s.operation(e,tp,eg,ep,ev,re,r,rp)
3030
local c=e:GetHandler()
31+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
3132
local tg=Duel.SelectMatchingCard(tp,s.costfilter,tp,LOCATION_HAND,0,1,1,nil)
3233
if Duel.SendtoGrave(tg,REASON_COST)==1 then
3334
local g=Duel.GetMatchingGroup(aux.FilterMaximumSideFunctionEx(s.atkfilter),tp,0,LOCATION_MZONE,nil)
3435
if #g>0 then
35-
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
36+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATKDEF)
3637
local g2=Duel.SelectMatchingCard(tp,aux.FilterMaximumSideFunctionEx(s.atkfilter),tp,0,LOCATION_MZONE,1,2,nil)
3738
if #g2>0 then
3839
for tc in g2:Iter() do
@@ -43,29 +44,27 @@ function s.operation(e,tp,eg,ep,ev,re,r,rp)
4344
e1:SetReset(RESETS_STANDARD_PHASE_END)
4445
tc:RegisterEffect(e1)
4546
end
47+
--Can make a second attack on monsters during the Battle Phase
4648
local e1=Effect.CreateEffect(c)
4749
e1:SetType(EFFECT_TYPE_SINGLE)
4850
e1:SetCode(EFFECT_EXTRA_ATTACK_MONSTER)
49-
e1:SetCondition(s.macon)
51+
e1:SetCondition(function(e) return e:GetHandler():HasFlagEffect(id+1) end)
5052
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
51-
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE)
53+
e1:SetReset(RESET_EVENT|RESETS_STANDARD|RESET_PHASE|PHASE_BATTLE)
5254
e1:SetValue(1)
5355
c:RegisterEffect(e1)
5456
local e2=Effect.CreateEffect(c)
5557
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
5658
e2:SetCode(EVENT_BATTLE_DESTROYING)
5759
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
5860
e2:SetCondition(aux.bdcon)
59-
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE)
61+
e2:SetReset(RESET_EVENT|RESETS_STANDARD|RESET_PHASE|PHASE_BATTLE)
6062
e2:SetOperation(s.bdop)
6163
c:RegisterEffect(e2)
6264
end
6365
end
6466
end
6567
end
66-
function s.macon(e,tp,eg,ep,ev,re,r,rp)
67-
return e:GetHandler():GetFlagEffect(id+1)>0
68-
end
6968
function s.bdop(e,tp,eg,ep,ev,re,r,rp)
7069
e:GetHandler():RegisterFlagEffect(id+1,RESETS_STANDARD_PHASE_END,0,1)
71-
end
70+
end

rush/c160003039.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
--サバイバル・ソードフィッシュ
22
--Survival Swordfish
3-
43
--Substitute ID
54
local s,id=GetID()
65
function s.initial_effect(c)
@@ -39,6 +38,7 @@ end
3938
--Make up to 2 fish monsters gain 500 ATK
4039
function s.operation(e,tp,eg,ep,ev,re,r,rp)
4140
--Requirement
41+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
4242
local td=Duel.SelectMatchingCard(tp,s.tdfilter,tp,LOCATION_GRAVE,0,1,1,nil)
4343
Duel.HintSelection(td)
4444
if Duel.SendtoDeck(td,nil,SEQ_DECKBOTTOM,REASON_COST)~0 then

rush/c160003047.lua

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22
--Triple Threat Thunder
33
local s,id=GetID()
44
function s.initial_effect(c)
5-
--Increase ATK
5+
--Change the original ATK of 1 face-up Level 8 or lower monster on your opponent's field to 0 until the end of this turn
66
local e1=Effect.CreateEffect(c)
7+
e1:SetDescription(aux.Stringid(id,0))
78
e1:SetCategory(CATEGORY_ATKCHANGE)
89
e1:SetType(EFFECT_TYPE_ACTIVATE)
910
e1:SetCode(EVENT_FREE_CHAIN)
@@ -19,13 +20,13 @@ function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
1920
and Duel.IsExistingMatchingCard(s.filter,tp,0,LOCATION_MZONE,1,nil) end
2021
end
2122
function s.activate(e,tp,eg,ep,ev,re,r,rp)
22-
local c=e:GetHandler()
2323
--Effect
24+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATKDEF)
2425
local g=Duel.SelectMatchingCard(tp,s.filter,tp,0,LOCATION_MZONE,1,1,nil)
2526
if #g>0 then
2627
Duel.HintSelection(g)
2728
--Original ATK becomes 0
28-
local e1=Effect.CreateEffect(c)
29+
local e1=Effect.CreateEffect(e:GetHandler())
2930
e1:SetType(EFFECT_TYPE_SINGLE)
3031
e1:SetCode(EFFECT_SET_BASE_ATTACK)
3132
e1:SetValue(0)

0 commit comments

Comments
 (0)