Commit f82218f6 authored by salix5's avatar salix5

fix マジカルシルクハット

https://www.db.yugioh-card.com/yugiohdb/faq_search.action?ope=5&fid=22086&keyword=&tag=-1
https://yugioh-wiki.net/index.php?%A1%D4%A5%DE%A5%B8%A5%AB%A5%EB%A5%B7%A5%EB%A5%AF%A5%CF%A5%C3%A5%C8%A1%D5
Q:《聖なる輝き》適用中にこのカードを発動できますか?
A:...
ただし、《聖なる輝き》適用中にモンスターを裏側守備表示に変更できない為、裏側守備表示のモンスターが自分フィールドに存在する場合しか発動できず、表側表示モンスターはシャッフルするモンスターとして選べません。(20/10/22)
parent 14f7ccaa
...@@ -15,7 +15,7 @@ function c81210420.condition(e,tp,eg,ep,ev,re,r,rp) ...@@ -15,7 +15,7 @@ function c81210420.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()~=tp and (Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE) return Duel.GetTurnPlayer()~=tp and (Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE)
end end
function c81210420.filter(c) function c81210420.filter(c)
return c:GetSequence()<5 and not c:IsType(TYPE_TOKEN+TYPE_LINK) return c:GetSequence()<5 and (c:IsPosition(POS_FACEDOWN_DEFENSE) or c:IsCanTurnSet())
end end
function c81210420.spfilter(c,e,tp) function c81210420.spfilter(c,e,tp)
return c:IsType(TYPE_SPELL+TYPE_TRAP) and Duel.IsPlayerCanSpecialSummonMonster(tp,c:GetCode(),nil,TYPE_MONSTER+TYPE_NORMAL,0,0,0,0,0,POS_FACEDOWN_DEFENSE) return c:IsType(TYPE_SPELL+TYPE_TRAP) and Duel.IsPlayerCanSpecialSummonMonster(tp,c:GetCode(),nil,TYPE_MONSTER+TYPE_NORMAL,0,0,0,0,0,POS_FACEDOWN_DEFENSE)
...@@ -27,7 +27,7 @@ function c81210420.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -27,7 +27,7 @@ function c81210420.target(e,tp,eg,ep,ev,re,r,rp,chk)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>1 and Duel.GetLocationCount(tp,LOCATION_MZONE)>1
and Duel.IsExistingMatchingCard(c81210420.spfilter,tp,LOCATION_DECK,0,2,nil,e,tp) and Duel.IsExistingMatchingCard(c81210420.spfilter,tp,LOCATION_DECK,0,2,nil,e,tp)
end end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,2,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,2,tp,0)
end end
function c81210420.activate(e,tp,eg,ep,ev,re,r,rp) function c81210420.activate(e,tp,eg,ep,ev,re,r,rp)
if Duel.IsPlayerAffectedByEffect(tp,59822133) then return end if Duel.IsPlayerAffectedByEffect(tp,59822133) then return end
...@@ -35,17 +35,15 @@ function c81210420.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -35,17 +35,15 @@ function c81210420.activate(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c81210420.spfilter,tp,LOCATION_DECK,0,nil,e,tp) local g=Duel.GetMatchingGroup(c81210420.spfilter,tp,LOCATION_DECK,0,nil,e,tp)
if g:GetCount()<2 then return end if g:GetCount()<2 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local tc=Duel.SelectMatchingCard(tp,c81210420.filter,tp,LOCATION_MZONE,0,1,1,nil):GetFirst() local g2=Duel.SelectMatchingCard(tp,c81210420.filter,tp,LOCATION_MZONE,0,1,1,nil)
local tc=g2:GetFirst()
if not tc or tc:IsImmuneToEffect(e) then return end if not tc or tc:IsImmuneToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:Select(tp,2,2,nil) local sg=g:Select(tp,2,2,nil)
if tc:IsFaceup() then if tc:IsFaceup() then
if tc:IsHasEffect(EFFECT_DEVINE_LIGHT) then Duel.ChangePosition(tc,POS_FACEUP_DEFENSE)
else
Duel.ChangePosition(tc,POS_FACEDOWN_DEFENSE) Duel.ChangePosition(tc,POS_FACEDOWN_DEFENSE)
tc:ClearEffectRelation() tc:ClearEffectRelation()
end end
end
local tg=sg:GetFirst() local tg=sg:GetFirst()
local fid=e:GetHandler():GetFieldID() local fid=e:GetHandler():GetFieldID()
while tg do while tg do
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment