Skip to content

Commit 2cdfe23

Browse files
authored
Various script fixes/updates
- Blackfeather Darkrage Dragon: Sending the cards to the GY and increasing this card's ATK shouldn't happen at the same time. - Crystron Entry: Shouldn't send a monster to GY if the target isn't face-up on the field anymore on resolution. - EMERGENCY!: Should also check that you can Tribute in general. - Dogmatika Punishment: Missing effect categories + general polishing. - Flock Together: Wasn't checking for empty zones on resolution. - Key Man the Key Warrior: Also check that the card using this effect has a Level + the Level change should go away if the card's effects are later negated. - Konohanasakuya: Fixed an issue with target redirecting effects. - Lockout Gardna: The battle protection should remain applied even if the card's effects are later negated + the 2nd effect should be OPC. - Materiactor Meltdown: Shuffle the hand of the player that had a card added to their hand rather than always the one that activated this card's effect. - Meklord Factory: Shouldn't be able to target a Spell/Trap + adding the card to the hand and destroying the other card shouldn't happen at the same time. - Mementotlan Akihiron: Can use its effect during the Battle Phase as well. - Mokey Mokey Smackdown: Should check the destroyed monster's Type on the field. - Photon Lead: Wasn't checking that the monster can be Special Summoned in Attack Position. - Prometheus, King of the Shadows: Should be negatable by "Ghost Belle & Haunted Mansion" + missing effect categories. - Psi-Beast: Should banish even if this card isn't face-up on the field on resolution + the Level change should go away completely if its effects are later negated. - Raging Cloudian: Shouldn't place a counter if you don't successfully Special Summon. - Rank-Up-Magic Magical Force: Special Summoning the 1st monster and Special Summoning the 2nd monster shouldn't happen at the same time. - Reboot: Should show the card to the opponent before shuffling it back into the Deck. - Self-Mummification: Should also check that the monster can be sent to the GY. - Other various small fixes and updates.
1 parent 8520c01 commit 2cdfe23

25 files changed

+312
-333
lines changed

official/c15103313.lua

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22
--Self-Mummification
33
local s,id=GetID()
44
function s.initial_effect(c)
5-
--Activate
5+
--Send 1 monster you control to the GY
66
local e1=Effect.CreateEffect(c)
7+
e1:SetDescription(aux.Stringid(id,0))
78
e1:SetCategory(CATEGORY_TOGRAVE)
89
e1:SetType(EFFECT_TYPE_ACTIVATE)
910
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
@@ -13,11 +14,11 @@ function s.initial_effect(c)
1314
c:RegisterEffect(e1)
1415
end
1516
function s.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
16-
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) end
17-
if chk==0 then return Duel.IsExistingTarget(nil,tp,LOCATION_MZONE,0,1,nil) end
17+
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and chkc:IsAbleToGrave() end
18+
if chk==0 then return Duel.IsExistingTarget(Card.IsAbleToGrave,tp,LOCATION_MZONE,0,1,nil) end
1819
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
19-
local g=Duel.SelectTarget(tp,nil,tp,LOCATION_MZONE,0,1,1,nil)
20-
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,g,1,0,0)
20+
local g=Duel.SelectTarget(tp,Card.IsAbleToGrave,tp,LOCATION_MZONE,0,1,1,nil)
21+
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,g,1,tp,0)
2122
end
2223
function s.activate(e,tp,eg,ep,ev,re,r,rp)
2324
local tc=Duel.GetFirstTarget()

official/c18176525.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
--scripted by Naim
44
local s,id=GetID()
55
function s.initial_effect(c)
6-
--Add to your hand 1 "Mitsurugi" card from your GY or that is banished
6+
--Add to your hand 1 "Mitsurugi" Spell/Trap from your Deck to your hand
77
local e1=Effect.CreateEffect(c)
88
e1:SetDescription(aux.Stringid(id,0))
99
e1:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)

official/c1965724.lua

Lines changed: 22 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -3,44 +3,35 @@
33
local s,id=GetID()
44
function s.initial_effect(c)
55
--Activate
6+
local e0=Effect.CreateEffect(c)
7+
e0:SetType(EFFECT_TYPE_ACTIVATE)
8+
e0:SetCode(EVENT_FREE_CHAIN)
9+
c:RegisterEffect(e0)
10+
--Register if a face-up Fairy monster you control is destroyed while you control "Mokey Mokey"
611
local e1=Effect.CreateEffect(c)
7-
e1:SetType(EFFECT_TYPE_ACTIVATE)
8-
e1:SetCode(EVENT_FREE_CHAIN)
12+
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
13+
e1:SetCode(EVENT_DESTROYED)
14+
e1:SetRange(LOCATION_SZONE)
15+
e1:SetCondition(s.regcon)
16+
e1:SetOperation(function(e) return e:GetHandler():RegisterFlagEffect(id,RESETS_STANDARD_PHASE_END,0,1) end)
917
c:RegisterEffect(e1)
10-
--reg
18+
--The ATK of each "Mokey Mokey" you control will become 3000
1119
local e2=Effect.CreateEffect(c)
12-
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
20+
e2:SetType(EFFECT_TYPE_FIELD)
21+
e2:SetCode(EFFECT_SET_ATTACK)
1322
e2:SetRange(LOCATION_SZONE)
14-
e2:SetCode(EVENT_DESTROYED)
15-
e2:SetCondition(s.regcon)
16-
e2:SetOperation(s.regop)
23+
e2:SetTargetRange(LOCATION_MZONE,0)
24+
e2:SetCondition(function(e) return e:GetHandler():HasFlagEffect(id) end)
25+
e2:SetTarget(function(e,c) return c:IsCode(27288416) and c:IsFaceup() end)
26+
e2:SetValue(3000)
1727
c:RegisterEffect(e2)
18-
--atk
19-
local e3=Effect.CreateEffect(c)
20-
e3:SetType(EFFECT_TYPE_FIELD)
21-
e3:SetCode(EFFECT_SET_ATTACK)
22-
e3:SetRange(LOCATION_SZONE)
23-
e3:SetTargetRange(LOCATION_MZONE,0)
24-
e3:SetTarget(s.atktg)
25-
e3:SetCondition(s.atkcon)
26-
e3:SetValue(3000)
27-
c:RegisterEffect(e3)
2828
end
29-
s.listed_names={27288416}
30-
function s.cfilter(c,tp)
31-
return c:IsPreviousLocation(LOCATION_MZONE) and c:IsPreviousPosition(POS_FACEUP)
32-
and c:IsPreviousControler(tp) and c:IsRace(RACE_FAIRY)
29+
s.listed_names={27288416} --"Mokey Mokey"
30+
function s.regconfilter(c,tp)
31+
return c:IsPreviousRaceOnField(RACE_FAIRY) and c:IsPreviousLocation(LOCATION_MZONE) and c:IsPreviousPosition(POS_FACEUP)
32+
and c:IsPreviousControler(tp)
3333
end
3434
function s.regcon(e,tp,eg,ep,ev,re,r,rp)
35-
return e:GetHandler():GetFlagEffect(id)==0 and eg:IsExists(s.cfilter,1,nil,tp)
35+
return not e:GetHandler():HasFlagEffect(id) and eg:IsExists(s.regconfilter,1,nil,tp)
3636
and Duel.IsExistingMatchingCard(aux.FaceupFilter(Card.IsCode,27288416),tp,LOCATION_MZONE,0,1,nil)
37-
end
38-
function s.regop(e,tp,eg,ep,ev,re,r,rp)
39-
return e:GetHandler():RegisterFlagEffect(id,RESETS_STANDARD_PHASE_END,0,1)
40-
end
41-
function s.atkcon(e)
42-
return e:GetHandler():GetFlagEffect(id)~=0
43-
end
44-
function s.atktg(e,c)
45-
return c:IsFaceup() and c:IsCode(27288416)
4637
end

official/c23168060.lua

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,26 @@
22
--Key Man the Key Warrior
33
local s,id=GetID()
44
function s.initial_effect(c)
5-
--lv change
5+
--Make this card Level 3 until the End Phase
66
local e1=Effect.CreateEffect(c)
77
e1:SetDescription(aux.Stringid(id,0))
8+
e1:SetCategory(CATEGORY_LVCHANGE)
89
e1:SetType(EFFECT_TYPE_IGNITION)
910
e1:SetRange(LOCATION_MZONE)
1011
e1:SetCountLimit(1)
11-
e1:SetCondition(s.condition)
12-
e1:SetOperation(s.operation)
12+
e1:SetCondition(s.lvcon)
13+
e1:SetOperation(s.lvop)
1314
c:RegisterEffect(e1)
1415
end
15-
function s.condition(e,tp,eg,ep,ev,re,r,rp)
16-
return e:GetHandler():GetLevel()~=3
16+
function s.lvcon(e,tp,eg,ep,ev,re,r,rp)
17+
local c=e:GetHandler()
18+
return c:HasLevel() and not c:IsLevel(3)
1719
end
18-
function s.operation(e,tp,eg,ep,ev,re,r,rp)
20+
function s.lvop(e,tp,eg,ep,ev,re,r,rp)
1921
local c=e:GetHandler()
2022
if c:IsRelateToEffect(e) and c:IsFaceup() then
21-
local e1=Effect.CreateEffect(e:GetHandler())
22-
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
23+
--This card becomes Level 3 until the End Phase
24+
local e1=Effect.CreateEffect(c)
2325
e1:SetType(EFFECT_TYPE_SINGLE)
2426
e1:SetCode(EFFECT_CHANGE_LEVEL)
2527
e1:SetValue(3)

official/c23639291.lua

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,14 +66,15 @@ end
6666
function s.operation(e,tp,eg,ep,ev,re,r,rp)
6767
local tc=Duel.GetFirstTarget()
6868
if tc:IsRelateToEffect(e) and Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP_ATTACK) then
69+
tc:AddCounter(COUNTER_FOG,1)
70+
--It cannot be changed to Defense Position by card effects
6971
local e1=Effect.CreateEffect(e:GetHandler())
70-
e1:SetDescription(aux.Stringid(id,0))
72+
e1:SetDescription(aux.Stringid(id,1))
7173
e1:SetType(EFFECT_TYPE_SINGLE)
7274
e1:SetProperty(EFFECT_FLAG_CLIENT_HINT)
7375
e1:SetCode(EFFECT_CANNOT_CHANGE_POS_E)
7476
e1:SetReset(RESET_EVENT|RESETS_STANDARD)
7577
tc:RegisterEffect(e1)
7678
end
7779
Duel.SpecialSummonComplete()
78-
tc:AddCounter(COUNTER_FOG,1)
7980
end

official/c32044231.lua

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
4949
if not sc then return end
5050
sc:SetMaterial(tc)
5151
Duel.Overlay(sc,tc)
52+
Duel.BreakEffect()
5253
if Duel.SpecialSummonStep(sc,SUMMON_TYPE_XYZ,tp,tp,false,false,POS_FACEUP) then
5354
sc:CompleteProcedure()
5455
if Duel.SpecialSummonComplete()==0 or not (c:IsRelateToEffect(e) and c:IsCanBeXyzMaterial(sc,tp,REASON_EFFECT)) then return end

official/c35848254.lua

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,29 @@
22
--Photon Lead
33
local s,id=GetID()
44
function s.initial_effect(c)
5-
--Activate
5+
--Special Summon 1 Level 4 or lower LIGHT monster from your hand in face-up Attack Position
66
local e1=Effect.CreateEffect(c)
7+
e1:SetDescription(aux.Stringid(id,0))
78
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
89
e1:SetType(EFFECT_TYPE_ACTIVATE)
910
e1:SetCode(EVENT_FREE_CHAIN)
11+
e1:SetHintTiming(0,TIMING_STANDBY_PHASE|TIMING_MAIN_END|TIMINGS_CHECK_MONSTER_E)
1012
e1:SetTarget(s.target)
1113
e1:SetOperation(s.activate)
1214
c:RegisterEffect(e1)
1315
end
14-
function s.filter(c,e,tp)
15-
return c:IsLevelBelow(4) and c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
16+
function s.spfilter(c,e,tp)
17+
return c:IsLevelBelow(4) and c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_ATTACK)
1618
end
1719
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
1820
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
19-
and Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_HAND,0,1,nil,e,tp) end
21+
and Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_HAND,0,1,nil,e,tp) end
2022
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
2123
end
2224
function s.activate(e,tp,eg,ep,ev,re,r,rp)
2325
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
2426
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
25-
local g=Duel.SelectMatchingCard(tp,s.filter,tp,LOCATION_HAND,0,1,1,nil,e,tp)
27+
local g=Duel.SelectMatchingCard(tp,s.spfilter,tp,LOCATION_HAND,0,1,1,nil,e,tp)
2628
if #g>0 then
2729
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP_ATTACK)
2830
end

official/c37310367.lua

Lines changed: 22 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -2,86 +2,71 @@
22
--Lockout Gardna
33
local s,id=GetID()
44
function s.initial_effect(c)
5-
--Special summon itself from hand
5+
--Special Summon this card from your hand in Attack Position, and if you do, it cannot be destroyed by battle this turn
66
local e1=Effect.CreateEffect(c)
77
e1:SetDescription(aux.Stringid(id,0))
88
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
99
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
1010
e1:SetCode(EVENT_ATTACK_ANNOUNCE)
1111
e1:SetRange(LOCATION_HAND)
12-
e1:SetCondition(s.spcon)
12+
e1:SetCondition(function(e,tp) return Duel.GetAttacker():isControler(1-tp) and Duel.GetAttackTarget()==nil end)
1313
e1:SetTarget(s.sptg)
1414
e1:SetOperation(s.spop)
1515
c:RegisterEffect(e1)
16-
--Negate both 1 of your cyberse monsters and opponent's cards/effects
16+
--Negate the effects of both your targeted Cyberse monster and that opponent's monster until the end of this turn
1717
local e2=Effect.CreateEffect(c)
1818
e2:SetDescription(aux.Stringid(id,1))
1919
e2:SetCategory(CATEGORY_DISABLE)
2020
e2:SetType(EFFECT_TYPE_QUICK_O)
2121
e2:SetCode(EVENT_CHAINING)
2222
e2:SetRange(LOCATION_MZONE)
23+
e2:SetCountLimit(1,0,EFFECT_COUNT_CODE_CHAIN)
2324
e2:SetCondition(s.discon)
2425
e2:SetTarget(s.distg)
2526
e2:SetOperation(s.disop)
2627
c:RegisterEffect(e2)
2728
end
28-
function s.spcon(e,tp,eg,ep,ev,re,r,rp)
29-
return Duel.GetAttacker():GetControler()~=tp and Duel.GetAttackTarget()==nil
30-
end
3129
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
3230
local c=e:GetHandler()
3331
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
3432
and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_ATTACK) end
35-
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
33+
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,tp,0)
3634
end
3735
function s.spop(e,tp,eg,ep,ev,re,r,rp)
3836
local c=e:GetHandler()
39-
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP_ATTACK)~=0 then
40-
--Cannot be destroyed by battle
37+
if c:IsRelateToEffect(e) and Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP_ATTACK)>0 then
38+
--It cannot be destroyed by battle this turn
4139
local e1=Effect.CreateEffect(c)
4240
e1:SetDescription(3000)
43-
e1:SetProperty(EFFECT_FLAG_CLIENT_HINT)
4441
e1:SetType(EFFECT_TYPE_SINGLE)
42+
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CLIENT_HINT)
4543
e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
4644
e1:SetValue(1)
4745
e1:SetReset(RESETS_STANDARD_PHASE_END)
4846
c:RegisterEffect(e1)
4947
end
5048
end
5149
function s.discon(e,tp,eg,ep,ev,re,r,rp)
52-
if rp==tp or not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end
53-
local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
54-
if not g or #g~=1 then return false end
55-
local tc=g:GetFirst()
50+
if not (rp==1-tp and re:IsMonsterEffect() and re:GetHandler():IsLocation(LOCATION_MZONE) and re:IsHasProperty(EFFECT_FLAG_CARD_TARGET)) then return false end
51+
local tg=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
52+
if not (tg and #tg==1) then return false end
53+
local tc=tg:GetFirst()
5654
e:SetLabelObject(tc)
57-
return re:IsMonsterEffect() and re:GetHandler():IsLocation(LOCATION_MZONE)
58-
and tc:IsControler(tp) and tc:IsFaceup() and tc:IsRace(RACE_CYBERSE) and tc:IsLocation(LOCATION_MZONE)
55+
return tc:IsRace(RACE_CYBERSE) and tc:IsControler(tp) and tc:IsFaceup() and tc:IsLocation(LOCATION_MZONE)
5956
end
6057
function s.distg(e,tp,eg,ep,ev,re,r,rp,chk)
61-
local tc=e:GetLabelObject()
6258
if chk==0 then return true end
63-
local g=Group.FromCards(tc,re:GetHandler())
64-
Duel.SetTargetCard(g)
65-
Duel.SetOperationInfo(0,CATEGORY_DISABLE,g,2,0,0)
66-
end
67-
function s.disfilter(c,e)
68-
return c:IsFaceup() and c:IsRelateToEffect(e)
59+
local tc=e:GetLabelObject()
60+
local tg=Group.FromCards(tc,re:GetHandler())
61+
Duel.SetTargetCard(tg)
62+
Duel.SetOperationInfo(0,CATEGORY_DISABLE,tg,2,tp,0)
6963
end
7064
function s.disop(e,tp,eg,ep,ev,re,r,rp)
65+
local tg=Duel.GetTargetCards(e)
66+
if #tg~=2 then return end
7167
local c=e:GetHandler()
72-
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(s.disfilter,nil,e)
73-
local tc=g:GetFirst()
74-
for tc in aux.Next(g) do
75-
Duel.NegateRelatedChain(tc,RESET_TURN_SET)
76-
local e1=Effect.CreateEffect(c)
77-
e1:SetType(EFFECT_TYPE_SINGLE)
78-
e1:SetCode(EFFECT_DISABLE)
79-
e1:SetReset(RESETS_STANDARD_PHASE_END)
80-
tc:RegisterEffect(e1)
81-
local e2=Effect.CreateEffect(c)
82-
e2:SetType(EFFECT_TYPE_SINGLE)
83-
e2:SetCode(EFFECT_DISABLE_EFFECT)
84-
e2:SetReset(RESETS_STANDARD_PHASE_END)
85-
tc:RegisterEffect(e2)
68+
for tc in tg:Iter() do
69+
--Negate their effects until the end of this turn
70+
tc:NegateEffects(c,RESETS_STANDARD_PHASE_END)
8671
end
8772
end

official/c38669664.lua

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,9 @@ function s.excop(e,tp,eg,ep,ev,re,r,rp)
6767
if #g>0 then
6868
Duel.BreakEffect()
6969
Duel.SendtoHand(g,nil,REASON_EFFECT)
70-
Duel.ConfirmCards(1-tp,g)
71-
Duel.ShuffleHand(tp)
70+
local owner=g:GetFirst():GetControler()
71+
Duel.ConfirmCards(1-owner,g)
72+
Duel.ShuffleHand(owner)
7273
end
7374
end
7475
end

official/c46291010.lua

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,14 @@ end
2222
function s.rmop(e,tp,eg,ep,ev,re,r,rp)
2323
local c=e:GetHandler()
2424
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
25-
local g=Duel.SelectMatchingCard(tp,s.rmfilter,tp,LOCATION_DECK,0,1,1,nil)
26-
local tc=g:GetFirst()
27-
if tc and c:IsRelateToEffect(e) and c:IsFaceup() then
28-
Duel.Remove(tc,POS_FACEUP,REASON_EFFECT)
25+
local sc=Duel.SelectMatchingCard(tp,s.rmfilter,tp,LOCATION_DECK,0,1,1,nil):GetFirst()
26+
if sc and Duel.Remove(sc,POS_FACEUP,REASON_EFFECT)>0 and c:IsRelateToEffect(e) and c:IsFaceup() then
27+
--This card's Level becomes the Level of that monster
2928
local e1=Effect.CreateEffect(c)
3029
e1:SetType(EFFECT_TYPE_SINGLE)
3130
e1:SetCode(EFFECT_CHANGE_LEVEL)
32-
e1:SetValue(tc:GetLevel())
33-
e1:SetReset(RESET_EVENT|RESETS_STANDARD)
31+
e1:SetValue(sc:GetLevel())
32+
e1:SetReset(RESET_EVENT|RESETS_STANDARD_DISABLE)
3433
c:RegisterEffect(e1)
3534
end
3635
end

0 commit comments

Comments
 (0)