Skip to content

Commit 2118c3d

Browse files
authored
"Number C79: Battlin' Boxer General Kaiser" fix
Fixed an issue where it would attach your battling monster to itself if the opponent controlled it on resolution.
1 parent e75d1a9 commit 2118c3d

File tree

1 file changed

+20
-22
lines changed

1 file changed

+20
-22
lines changed

official/c10300821.lua

Lines changed: 20 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -4,51 +4,48 @@
44
local s,id=GetID()
55
function s.initial_effect(c)
66
c:EnableReviveLimit()
7-
--Xyz Summon Procedure
7+
--Xyz Summon procedure: 3 Level 5 monsters
88
Xyz.AddProcedure(c,nil,5,3)
9-
--Gain 200 ATK per each material attached
9+
--Gains 200 ATK for each material attached to it
1010
local e1=Effect.CreateEffect(c)
1111
e1:SetType(EFFECT_TYPE_SINGLE)
1212
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
1313
e1:SetCode(EFFECT_UPDATE_ATTACK)
1414
e1:SetRange(LOCATION_MZONE)
15-
e1:SetValue(function(_,c) return c:GetOverlayCount()*200 end)
15+
e1:SetValue(function(e,c) return c:GetOverlayCount()*200 end)
1616
c:RegisterEffect(e1)
17-
--Negate Special Summons and destroy that monster(s)
17+
--Detach 2 materials from this card, and if you do, negate your opponent's Special Summon, and if you do that, destroy that monster(s)
1818
local e2=Effect.CreateEffect(c)
1919
e2:SetDescription(aux.Stringid(id,0))
2020
e2:SetCategory(CATEGORY_DISABLE_SUMMON+CATEGORY_DESTROY)
2121
e2:SetType(EFFECT_TYPE_QUICK_O)
2222
e2:SetCode(EVENT_SPSUMMON)
2323
e2:SetRange(LOCATION_MZONE)
2424
e2:SetCountLimit(1)
25-
e2:SetCondition(s.negsumcond)
25+
e2:SetCondition(function(e,tp,eg,ep,ev,re,r,rp) return tp==1-ep and Duel.GetCurrentChain(true)==0 end)
2626
e2:SetTarget(s.negsumtg)
2727
e2:SetOperation(s.negsumop)
2828
c:RegisterEffect(e2)
29-
--Attach monsters when an attack is declared involving a "Battlin' Boxer" monster
29+
--Send 1 "Battlin' Boxer" monster from your hand or Deck to the GY, and if you do, attach that opponent's battling monster to this card as material
3030
local e3=Effect.CreateEffect(c)
3131
e3:SetDescription(aux.Stringid(id,1))
3232
e3:SetCategory(CATEGORY_TOGRAVE)
3333
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
3434
e3:SetCode(EVENT_ATTACK_ANNOUNCE)
3535
e3:SetRange(LOCATION_MZONE)
3636
e3:SetCountLimit(1)
37-
e3:SetCondition(s.atchcond)
38-
e3:SetTarget(s.atchtg)
39-
e3:SetOperation(s.atchop)
37+
e3:SetCondition(s.tgattachcon)
38+
e3:SetTarget(s.tgattachtg)
39+
e3:SetOperation(s.tgattachop)
4040
c:RegisterEffect(e3)
4141
end
4242
s.xyz_number=79
43-
s.listed_names={71921856} --Number 79: Battlin' Boxer Nova Kaiser
43+
s.listed_names={71921856} --"Number 79: Battlin' Boxer Nova Kaiser"
4444
s.listed_series={SET_BATTLIN_BOXER}
45-
function s.negsumcond(e,tp,eg,ep,ev,re,r,rp)
46-
return tp==1-ep and Duel.GetCurrentChain(true)==0
47-
end
4845
function s.negsumtg(e,tp,eg,ep,ev,re,r,rp,chk)
4946
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,2,REASON_EFFECT) end
50-
Duel.SetOperationInfo(0,CATEGORY_DISABLE_SUMMON,eg,#eg,0,0)
51-
Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,#eg,0,0)
47+
Duel.SetOperationInfo(0,CATEGORY_DISABLE_SUMMON,eg,#eg,tp,0)
48+
Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,#eg,tp,0)
5249
end
5350
function s.negsumop(e,tp,eg,ep,ev,re,r,rp)
5451
local c=e:GetHandler()
@@ -57,29 +54,30 @@ function s.negsumop(e,tp,eg,ep,ev,re,r,rp)
5754
Duel.Destroy(eg,REASON_EFFECT)
5855
end
5956
end
60-
function s.atchcond(e,tp,eg,ep,ev,re,r,rp)
57+
function s.tgattachcon(e,tp,eg,ep,ev,re,r,rp)
6158
if not e:GetHandler():GetOverlayGroup():IsExists(Card.IsCode,1,nil,71921856) then return false end
6259
local a,b=Duel.GetBattleMonster(tp)
6360
return a and b and a:IsFaceup() and a:IsSetCard(SET_BATTLIN_BOXER)
6461
end
6562
function s.tgfilter(c)
6663
return c:IsSetCard(SET_BATTLIN_BOXER) and c:IsMonster() and c:IsAbleToGrave()
6764
end
68-
function s.atchtg(e,tp,eg,ep,ev,re,r,rp,chk)
65+
function s.tgattachtg(e,tp,eg,ep,ev,re,r,rp,chk)
6966
local _,b=Duel.GetBattleMonster(tp)
7067
if chk==0 then return b:IsAbleToChangeControler() and b:IsCanBeXyzMaterial(e:GetHandler(),tp,REASON_EFFECT)
7168
and Duel.IsExistingMatchingCard(s.tgfilter,tp,LOCATION_HAND|LOCATION_DECK,0,1,nil) end
69+
Duel.SetTargetCard(b)
7270
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_HAND|LOCATION_DECK)
7371
end
74-
function s.atchop(e,tp,eg,ep,ev,re,r,rp)
72+
function s.tgattachop(e,tp,eg,ep,ev,re,r,rp)
7573
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
7674
local g=Duel.SelectMatchingCard(tp,s.tgfilter,tp,LOCATION_HAND|LOCATION_DECK,0,1,1,nil)
7775
if #g>0 and Duel.SendtoGrave(g,REASON_EFFECT)>0 and g:GetFirst():IsLocation(LOCATION_GRAVE) then
7876
local c=e:GetHandler()
79-
local _,tc=Duel.GetBattleMonster(tp)
80-
if tc and tc:IsRelateToBattle() and tc:IsControler(1-tp)
81-
and not tc:IsImmuneToEffect(e) and c:IsRelateToEffect(e) then
77+
local tc=Duel.GetFirstTarget()
78+
if tc:IsRelateToEffect(e) and tc:IsControler(1-tp) and not tc:IsImmuneToEffect(e)
79+
and c:IsRelateToEffect(e) then
8280
Duel.Overlay(c,tc,true)
8381
end
8482
end
85-
end
83+
end

0 commit comments

Comments
 (0)