Skip to content

Commit f7585f6

Browse files
committed
Fixed cards with trigger effects to perform a Fusion Sumon
Fixed some cards that could trigger their effects to do a Fusion Summon even during the Damage Step (when they should not be able to). Affected cards: Crowley, the Gifted of Magistus Destiny HERO - Dusktopia Hojo the Vaylantz Warrior Kaiki the Unity Star Mementotlan Shleepy
1 parent 6e82523 commit f7585f6

File tree

5 files changed

+23
-19
lines changed

5 files changed

+23
-19
lines changed

official/c50042011.lua

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ function s.initial_effect(c)
2424
e2:SetProperty(EFFECT_FLAG_DELAY)
2525
e2:SetCode(EVENT_SUMMON_SUCCESS)
2626
e2:SetCountLimit(1,{id,1})
27+
e2:SetCondition(function() return not Duel.IsPhase(PHASE_DAMAGE) end)
2728
e2:SetTarget(Fusion.SummonEffTG(aux.FilterBoolFunction(Card.IsSetCard,SET_MEMENTO)))
2829
e2:SetOperation(Fusion.SummonEffOP(aux.FilterBoolFunction(Card.IsSetCard,SET_MEMENTO)))
2930
c:RegisterEffect(e2)

official/c60822251.lua

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,21 @@
22
--Kaiki the Unity Star
33
local s,id=GetID()
44
function s.initial_effect(c)
5-
--Fusion Summon
5+
--Fusion Summon 1 Warrior Fusion Monster from your Extra Deck
66
local params = {aux.FilterBoolFunction(Card.IsRace,RACE_WARRIOR)}
77
local e1=Effect.CreateEffect(c)
88
e1:SetDescription(aux.Stringid(id,0))
99
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON)
1010
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
11-
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
11+
e1:SetProperty(EFFECT_FLAG_DELAY)
1212
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
1313
e1:SetCountLimit(1,id)
14+
e1:SetCondition(function() return not Duel.IsPhase(PHASE_DAMAGE) end)
1415
e1:SetCost(Cost.PayLP(500))
1516
e1:SetTarget(Fusion.SummonEffTG(table.unpack(params)))
1617
e1:SetOperation(Fusion.SummonEffOP(table.unpack(params)))
1718
c:RegisterEffect(e1)
18-
--special summon
19+
--Special Summon this card from the GY
1920
local e2=Effect.CreateEffect(c)
2021
e2:SetDescription(aux.Stringid(id,1))
2122
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
@@ -32,14 +33,13 @@ function s.cfilter(c)
3233
return c:IsFaceup() and c:IsRace(RACE_WARRIOR)and c:IsLevelAbove(5) and c:GetAttack()~=c:GetBaseAttack()
3334
end
3435
function s.spcon(e,tp,eg,ep,ev,re,r,rp)
35-
return Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)>0
36-
and Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_MZONE,0,1,nil)
37-
and Duel.GetTurnPlayer()~=tp
36+
return Duel.IsTurnPlayer(1-tp) and Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_MZONE,0,1,nil)
3837
end
3938
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
39+
local c=e:GetHandler()
4040
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
41-
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
42-
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
41+
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
42+
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,tp,0)
4343
end
4444
function s.spop(e,tp,eg,ep,ev,re,r,rp)
4545
local c=e:GetHandler()

official/c875572.lua

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ function s.initial_effect(c)
3232
e3:SetProperty(EFFECT_FLAG_DELAY)
3333
e3:SetCode(EVENT_SUMMON_SUCCESS)
3434
e3:SetCountLimit(1,{id,1})
35+
e3:SetCondition(function() return not Duel.IsPhase(PHASE_DAMAGE) end)
3536
e3:SetTarget(Fusion.SummonEffTG(aux.FilterBoolFunction(Card.IsSetCard,{SET_MAGISTUS,SET_INVOKED})))
3637
e3:SetOperation(Fusion.SummonEffOP(aux.FilterBoolFunction(Card.IsSetCard,{SET_MAGISTUS,SET_INVOKED})))
3738
c:RegisterEffect(e3)

official/c88919365.lua

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
local s,id=GetID()
55
function s.initial_effect(c)
66
Pendulum.AddProcedure(c)
7-
--Special Summon self
7+
--Special Summon this card from the Pendulum Zone to your Main Monster Zone in its same column
88
local e1=Effect.CreateEffect(c)
99
e1:SetDescription(aux.Stringid(id,0))
1010
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
@@ -26,7 +26,7 @@ function s.initial_effect(c)
2626
e2:SetTarget(s.thtg)
2727
e2:SetOperation(s.thop)
2828
c:RegisterEffect(e2)
29-
--Fusion Summon 1 "Valiants" monster
29+
--Fusion Summon 1 "Vaylantz" Fusion Monster
3030
local fusparams={aux.FilterBoolFunction(Card.IsSetCard,SET_VAYLANTZ),nil,s.fextra}
3131
local e3=Effect.CreateEffect(c)
3232
e3:SetDescription(aux.Stringid(id,2))
@@ -86,5 +86,5 @@ function s.fextra(e,tp,mg)
8686
end
8787
function s.fuscon(e,tp,eg,ep,ev,re,r,rp)
8888
local c=e:GetHandler()
89-
return c:IsLocation(LOCATION_MZONE) and c:IsPreviousLocation(LOCATION_MZONE)
89+
return not Duel.IsPhase(PHASE_DAMAGE) and c:IsLocation(LOCATION_MZONE) and c:IsPreviousLocation(LOCATION_MZONE)
9090
end

official/c93657021.lua

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,26 +3,27 @@
33
local s,id=GetID()
44
function s.initial_effect(c)
55
c:EnableReviveLimit()
6+
--Fusion materials: 1 "Destiny HERO" Fusion Monster + 1 "Destiny HERO" monster
67
Fusion.AddProcMix(c,true,true,s.matfilter,aux.FilterBoolFunctionEx(Card.IsSetCard,SET_DESTINY_HERO))
7-
--fusion success
8+
--Fusion Summon 1 Fusion Monster from your Extra Deck
89
local e1=Effect.CreateEffect(c)
910
e1:SetDescription(aux.Stringid(id,0))
1011
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON)
1112
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
1213
e1:SetProperty(EFFECT_FLAG_DELAY)
1314
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
14-
e1:SetCondition(s.spcon)
15+
e1:SetCondition(function(e) return e:GetHandler():IsFusionSummoned() and not Duel.IsPhase(PHASE_DAMAGE) end)
1516
e1:SetTarget(Fusion.SummonEffTG())
1617
e1:SetOperation(Fusion.SummonEffOP())
1718
c:RegisterEffect(e1)
18-
--indes
19+
--Make a monster on the field unable to be destroyed by battle or card effects
1920
local e2=Effect.CreateEffect(c)
2021
e2:SetDescription(aux.Stringid(id,1))
2122
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
2223
e2:SetType(EFFECT_TYPE_QUICK_O)
2324
e2:SetRange(LOCATION_MZONE)
24-
e2:SetCountLimit(1)
2525
e2:SetCode(EVENT_FREE_CHAIN)
26+
e2:SetCountLimit(1)
2627
e2:SetTarget(s.indtg)
2728
e2:SetOperation(s.indop)
2829
c:RegisterEffect(e2)
@@ -32,9 +33,6 @@ s.material_setcode={SET_HERO,SET_DESTINY_HERO}
3233
function s.matfilter(c,fc,sumtype,tp)
3334
return c:IsType(TYPE_FUSION,fc,sumtype,tp) and c:IsSetCard(SET_DESTINY_HERO,fc,sumtype,tp)
3435
end
35-
function s.spcon(e,tp,eg,ep,ev,re,r,rp)
36-
return e:GetHandler():IsFusionSummoned()
37-
end
3836
function s.indtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
3937
if chkc then return chkc:IsLocation(LOCATION_MZONE) end
4038
if chk==0 then return Duel.IsExistingTarget(nil,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
@@ -43,8 +41,10 @@ function s.indtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
4341
end
4442
function s.indop(e,tp,eg,ep,ev,re,r,rp)
4543
local tc=Duel.GetFirstTarget()
46-
if tc and tc:IsRelateToEffect(e) then
44+
if tc:IsRelateToEffect(e) then
45+
--Cannot be destroyed by battle or card effects
4746
local e1=Effect.CreateEffect(e:GetHandler())
47+
e1:SetDescription(3008)
4848
e1:SetType(EFFECT_TYPE_SINGLE)
4949
e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
5050
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
@@ -54,7 +54,9 @@ function s.indop(e,tp,eg,ep,ev,re,r,rp)
5454
local e2=e1:Clone()
5555
e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
5656
tc:RegisterEffect(e2)
57+
--Neither player takes any battle damage from attacks involving it
5758
local e3=e1:Clone()
59+
e3:SetDescription(3213)
5860
e3:SetCode(EFFECT_NO_BATTLE_DAMAGE)
5961
tc:RegisterEffect(e3)
6062
local e4=e1:Clone()

0 commit comments

Comments
 (0)