Skip to content

Commit edb6c0b

Browse files
committed
fixed interaction with Maximum Mode monsters in the Graveyard
1 parent 1684849 commit edb6c0b

File tree

2 files changed

+11
-6
lines changed

2 files changed

+11
-6
lines changed

proc_maximum.lua

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,12 +129,11 @@ function Maximum.Operation(mats)
129129
--adding the "maximum mode" flag
130130
--center
131131
c:RegisterFlagEffect(FLAG_MAXIMUM_CENTER,RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD,0,1)
132-
c:RegisterFlagEffect(FLAG_MAXIMUM_CENTER_PREONFIELD,RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD-RESET_TOGRAVE-RESET_LEAVE,0,1)
133132

134133
--side
135134
for tc in aux.Next(tg) do
136135
tc:RegisterFlagEffect(FLAG_MAXIMUM_SIDE,RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD,0,1)
137-
tc:RegisterFlagEffect(FLAG_MAXIMUM_SIDE_PREONFIELD,RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD-RESET_TOGRAVE-RESET_LEAVE,0,1)
136+
tc:RegisterFlagEffect(FLAG_MAXIMUM_SIDE_PREONFIELD,RESET_EVENT+RESETS_STANDARD-RESET_TOGRAVE-RESET_LEAVE,0,1)
138137
tc:RegisterFlagEffect(FLAG_MAXIMUM_SIDE_RELATION+c:GetCardID(),RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD-RESET_TOGRAVE-RESET_LEAVE,0,1)
139138
end
140139
g=Duel.GetFieldGroup(tp,LOCATION_MZONE,0)
@@ -143,6 +142,8 @@ function Maximum.Operation(mats)
143142
for tc in aux.Next(tg) do
144143
Duel.MoveToField(tc,tp,tp,LOCATION_MZONE,POS_FACEUP_ATTACK,true)
145144
end
145+
146+
c:RegisterFlagEffect(FLAG_MAXIMUM_CENTER_PREONFIELD,RESET_EVENT+RESETS_STANDARD-RESET_TOGRAVE-RESET_LEAVE,0,1)
146147
end
147148
end
148149
function Maximum.centerCon(e)

rush/c160217042.lua

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
--scripted by YoshiDuels
44
local s,id=GetID()
55
function s.initial_effect(c)
6-
--Draw 1 card, then Special Summon 1 non-effect monster from the GY
6+
--Send to Graveyard, then Special Summon
77
local e1=Effect.CreateEffect(c)
88
e1:SetDescription(aux.Stringid(id,0))
99
e1:SetCategory(CATEGORY_TOGRAVE+CATEGORY_SPECIAL_SUMMON)
@@ -13,8 +13,11 @@ function s.initial_effect(c)
1313
e1:SetOperation(s.operation)
1414
c:RegisterEffect(e1)
1515
end
16+
function s.filter(c)
17+
return c:IsAbleToGrave() and not c:IsMaximumModeSide()
18+
end
1619
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
17-
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToGrave,tp,LOCATION_MZONE,0,1,nil) end
20+
if chk==0 then return Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_MZONE,0,1,nil) end
1821
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_MZONE)
1922
Duel.SetPossibleOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
2023
end
@@ -24,8 +27,9 @@ end
2427
function s.operation(e,tp,eg,ep,ev,re,r,rp)
2528
--Effect
2629
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
27-
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToGrave,tp,LOCATION_MZONE,0,1,1,nil)
28-
Duel.HintSelection(g)
30+
local g=Duel.SelectMatchingCard(tp,s.filter,tp,LOCATION_MZONE,0,1,1,nil)
31+
local g2=g:AddMaximumCheck()
32+
Duel.HintSelection(g2)
2933
if Duel.SendtoGrave(g,REASON_EFFECT)==0 then return end
3034
local sg=Duel.GetMatchingGroup(s.spfilter,tp,LOCATION_GRAVE,0,nil,e,tp)
3135
if #sg>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then

0 commit comments

Comments
 (0)