Skip to content

Commit c4f282a

Browse files
committed
"Mind Master" errata/pre-errata
1 parent 0572919 commit c4f282a

2 files changed

Lines changed: 55 additions & 17 deletions

File tree

official/c96782886.lua

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,40 +2,37 @@
22
--Mind Master
33
local s,id=GetID()
44
function s.initial_effect(c)
5-
--special summon
5+
--You can pay 800 Life Points and Tribute 1 Psychic-Type monster; Special Summon 1 Level 4 or lower Psychic-Type monster from your Deck in Attack Position
66
local e1=Effect.CreateEffect(c)
77
e1:SetDescription(aux.Stringid(id,0))
88
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
99
e1:SetType(EFFECT_TYPE_IGNITION)
1010
e1:SetRange(LOCATION_MZONE)
11+
e1:SetCountLimit(1,{id,0})
1112
e1:SetCost(s.cost)
12-
e1:SetTarget(s.target)
13-
e1:SetOperation(s.operation)
13+
e1:SetTarget(s.sptg)
14+
e1:SetOperation(s.spop)
1415
c:RegisterEffect(e1)
1516
end
16-
s.listed_names={id}
17-
function s.costfilter(c,ft,tp)
18-
return c:IsRace(RACE_PSYCHIC) and not c:IsCode(id)
19-
and (ft>0 or (c:IsControler(tp) and c:GetSequence()<5)) and (c:IsControler(tp) or c:IsFaceup())
20-
end
2117
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
22-
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
2318
if chk==0 then return Duel.CheckLPCost(tp,800)
24-
and ft>-1 and Duel.CheckReleaseGroupCost(tp,s.costfilter,1,false,nil,nil,ft,tp) end
19+
and Duel.CheckReleaseGroupCost(tp,Card.IsRace,1,false,aux.ReleaseCheckMMZ,nil,RACE_PSYCHIC) end
2520
Duel.PayLPCost(tp,800)
26-
local sg=Duel.SelectReleaseGroupCost(tp,s.costfilter,1,1,false,nil,nil,ft,tp)
21+
local sg=Duel.SelectReleaseGroupCost(tp,Card.IsRace,1,1,false,aux.ReleaseCheckMMZ,nil,RACE_PSYCHIC)
2722
Duel.Release(sg,REASON_COST)
2823
end
29-
function s.filter(c,e,tp)
24+
function s.spfilter(c,e,tp)
3025
return c:IsRace(RACE_PSYCHIC) and c:IsLevelBelow(4) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
3126
end
32-
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
33-
if chk==0 then return Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_DECK,0,1,nil,e,tp) end
27+
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
28+
if chk==0 then return Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp) end
3429
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
3530
end
36-
function s.operation(e,tp,eg,ep,ev,re,r,rp)
31+
function s.spop(e,tp,eg,ep,ev,re,r,rp)
3732
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
3833
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
39-
local g=Duel.SelectMatchingCard(tp,s.filter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
40-
if #g>0 then Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP_ATTACK) end
34+
local g=Duel.SelectMatchingCard(tp,s.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
35+
if #g>0 then
36+
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP_ATTACK)
37+
end
4138
end

official/c96782896.lua

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
--メンタルマスター
2+
--Mind Master (pre-errata)
3+
local s,id=GetID()
4+
function s.initial_effect(c)
5+
--You can pay 800 Life Points and Tribute 1 Psychic-Type monster, except "Mind Master"; Special Summon 1 Level 4 or lower Psychic-Type monster from your Deck in Attack Position
6+
local e1=Effect.CreateEffect(c)
7+
e1:SetDescription(aux.Stringid(id,0))
8+
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
9+
e1:SetType(EFFECT_TYPE_IGNITION)
10+
e1:SetRange(LOCATION_MZONE)
11+
e1:SetCost(s.cost)
12+
e1:SetTarget(s.sptg)
13+
e1:SetOperation(s.spop)
14+
c:RegisterEffect(e1)
15+
end
16+
s.listed_names={id}
17+
function s.costfilter(c)
18+
return c:IsRace(RACE_PSYCHIC) and not c:IsCode(id)
19+
end
20+
function s.cost(e,tp,eg,ep,ev,re,r,rp,chk)
21+
if chk==0 then return Duel.CheckLPCost(tp,800)
22+
and Duel.CheckReleaseGroupCost(tp,s.costfilter,1,false,aux.ReleaseCheckMMZ,nil) end
23+
Duel.PayLPCost(tp,800)
24+
local sg=Duel.SelectReleaseGroupCost(tp,s.costfilter,1,1,false,aux.ReleaseCheckMMZ,nil)
25+
Duel.Release(sg,REASON_COST)
26+
end
27+
function s.spfilter(c,e,tp)
28+
return c:IsRace(RACE_PSYCHIC) and c:IsLevelBelow(4) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
29+
end
30+
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
31+
if chk==0 then return Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp) end
32+
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
33+
end
34+
function s.spop(e,tp,eg,ep,ev,re,r,rp)
35+
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
36+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
37+
local g=Duel.SelectMatchingCard(tp,s.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
38+
if #g>0 then
39+
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP_ATTACK)
40+
end
41+
end

0 commit comments

Comments
 (0)