Skip to content

Commit fea71d5

Browse files
committed
"Dodododwarf Gogogoglove" fix
Fixed a bug where it would be unable to Special Summon itself if the player did not control a "Gogogo" or "Dododo" monster during the resolution
1 parent be68241 commit fea71d5

File tree

1 file changed

+11
-13
lines changed

1 file changed

+11
-13
lines changed

official/c59724555.lua

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
--ドドドドワーフ-GG
22
--Dodododwarf Gogogoglove
33
--Scripted by Hatter
4-
54
local s,id=GetID()
65
function s.initial_effect(c)
76
--Special summon 1 "Zubaba" or "Gagaga" monster from hand
@@ -26,38 +25,37 @@ function s.initial_effect(c)
2625
e2:SetOperation(s.gyop)
2726
c:RegisterEffect(e2)
2827
end
29-
s.listed_names={}
30-
s.listed_series={0x8f,0x54,0x59,0x82}
31-
32-
function s.filter(c,e,tp)
33-
return (c:IsSetCard(0x8f) or c:IsSetCard(0x54)) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
28+
s.listed_names={id}
29+
s.listed_series={SET_ZUBABA,SET_GAGAGA,SET_GOGOGO,SET_DODODO}
30+
function s.spfilter(c,e,tp)
31+
return c:IsSetCard({SET_ZUBABA,SET_GAGAGA}) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
3432
end
3533
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
3634
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
37-
and Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_HAND,0,1,nil,e,tp) end
35+
and Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_HAND,0,1,nil,e,tp) end
3836
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
3937
end
4038
function s.spop(e,tp,eg,ep,ev,re,r,rp)
4139
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
4240
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
43-
local g=Duel.SelectMatchingCard(tp,s.filter,tp,LOCATION_HAND,0,1,1,nil,e,tp)
41+
local g=Duel.SelectMatchingCard(tp,s.spfilter,tp,LOCATION_HAND,0,1,1,nil,e,tp)
4442
if #g>0 then
4543
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
4644
end
4745
end
4846
function s.cfilter(c)
49-
return (c:IsSetCard(0x59) or c:IsSetCard(0x82)) and c:IsFaceup() and not c:IsCode(id)
47+
return c:IsSetCard({SET_GOGOGO,SET_DODODO}) and c:IsFaceup() and not c:IsCode(id)
5048
end
5149
function s.gycon(e,tp,eg,ep,ev,re,r,rp)
5250
return Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_MZONE,0,1,nil)
5351
end
5452
function s.gytg(e,tp,eg,ep,ev,re,r,rp,chk)
53+
local c=e:GetHandler()
5554
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
56-
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
57-
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
55+
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
56+
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,tp,0)
5857
end
5958
function s.gyop(e,tp,eg,ep,ev,re,r,rp)
60-
if not Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_MZONE,0,1,nil) then return end
6159
local c=e:GetHandler()
6260
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)>0 then
6361
--Banish it if it leaves the field
@@ -66,7 +64,7 @@ function s.gyop(e,tp,eg,ep,ev,re,r,rp)
6664
e1:SetType(EFFECT_TYPE_SINGLE)
6765
e1:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
6866
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CLIENT_HINT)
69-
e1:SetReset(RESET_EVENT+RESETS_REDIRECT)
67+
e1:SetReset(RESET_EVENT|RESETS_REDIRECT)
7068
e1:SetValue(LOCATION_REMOVED)
7169
c:RegisterEffect(e1,true)
7270
end

0 commit comments

Comments
 (0)