Commit 5be4f89f authored by nekrozar's avatar nekrozar

fix different name

http://yugioh-wiki.net/index.php?%A1%D4%A5%AF%A5%ED%A5%B9%A1%A6%A5%D6%A5%EA%A1%BC%A5%C9%A1%D5#faq

Q:《クロス・ブリード》を発動する際に《エッジインプ・シザー》と、《エッジインプ・ソウ》のカード名を得た《エッジインプ・トマホーク》を除外した場合、手札に加える事ができるのは《エッジインプ・ソウ》と《エッジインプ・トマホーク》のどちらでしょうか?
A:ご質問の場合、《エッジインプ・トマホーク》を手札に加えることができます。(18/09/23)

http://yugioh-wiki.net/index.php?%A1%D4%C5%B4%A4%CE%B2%A6%20%A5%C9%A5%F4%A5%A7%A5%EB%A5%B0%A5%B9%A1%D5#faq2
Q:フィールドでのみカード名が変更されるモンスターをリリースした場合、カード名はフィールドと墓地のどちらに従いますか?
A:フィールドでのカード名に従います。(19/09/25)
parent b02ca53a
...@@ -18,17 +18,15 @@ function c20862918.cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -18,17 +18,15 @@ function c20862918.cost(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function c20862918.costfilter1(c,tp) function c20862918.costfilter1(c,tp)
return (c:IsLocation(LOCATION_HAND) or c:IsFaceup()) and c:IsType(TYPE_MONSTER) and c:IsAbleToRemoveAsCost() return (c:IsLocation(LOCATION_HAND) or c:IsFaceup()) and c:IsType(TYPE_MONSTER) and c:IsAbleToRemoveAsCost()
and Duel.IsExistingMatchingCard(c20862918.costfilter2,tp,LOCATION_HAND+LOCATION_MZONE,0,1,c,c,tp) and Duel.IsExistingMatchingCard(c20862918.costfilter2,tp,LOCATION_HAND+LOCATION_MZONE,0,1,c,c:GetOriginalRace(),c:GetOriginalAttribute(),c:GetCode(),tp)
end end
function c20862918.costfilter2(c,tc,tp) function c20862918.costfilter2(c,rece,att,code,tp)
return (c:IsLocation(LOCATION_HAND) or c:IsFaceup()) and c:IsType(TYPE_MONSTER) and c:IsAbleToRemoveAsCost() return (c:IsLocation(LOCATION_HAND) or c:IsFaceup()) and c:IsType(TYPE_MONSTER) and c:IsAbleToRemoveAsCost()
and c:GetOriginalRace()==tc:GetOriginalRace() and c:GetOriginalAttribute()==tc:GetOriginalAttribute() and c:GetOriginalRace()==race and c:GetOriginalAttribute()==att and not c:IsCode(code)
and not c:IsCode(tc:GetCode()) and Duel.IsExistingMatchingCard(c20862918.thfilter,tp,LOCATION_DECK,0,1,nil,rece,att,code,c:GetCode())
and Duel.IsExistingMatchingCard(c20862918.thfilter,tp,LOCATION_DECK,0,1,nil,c,tc)
end end
function c20862918.thfilter(c,tc1,tc2) function c20862918.thfilter(c,race,att,code1,code2)
return c:GetOriginalRace()==tc1:GetOriginalRace() and c:GetOriginalAttribute()==tc1:GetOriginalAttribute() return c:GetOriginalRace()==race and c:GetOriginalAttribute()==att and not c:IsCode(code1,code2)
and not c:IsCode(tc1:GetCode()) and not c:IsCode(tc2:GetCode())
and c:IsType(TYPE_MONSTER) and c:IsAbleToHand() and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
end end
function c20862918.target(e,tp,eg,ep,ev,re,r,rp,chk) function c20862918.target(e,tp,eg,ep,ev,re,r,rp,chk)
...@@ -40,21 +38,20 @@ function c20862918.target(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -40,21 +38,20 @@ function c20862918.target(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(0) e:SetLabel(0)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g1=Duel.SelectMatchingCard(tp,c20862918.costfilter1,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,nil,tp) local g1=Duel.SelectMatchingCard(tp,c20862918.costfilter1,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,nil,tp)
local rece=g1:GetFirst():GetOriginalRace()
local att=g1:GetFirst():GetOriginalAttribute()
local code=g1:GetFirst():GetCode()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g2=Duel.SelectMatchingCard(tp,c20862918.costfilter2,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,g1:GetFirst(),g1:GetFirst(),tp) local g2=Duel.SelectMatchingCard(tp,c20862918.costfilter2,tp,LOCATION_HAND+LOCATION_MZONE,0,1,1,g1:GetFirst(),rece,att,code,tp)
e:SetLabel(rece,att,code,g2:GetFirst():GetCode())
g1:Merge(g2) g1:Merge(g2)
g1:KeepAlive()
e:SetLabelObject(g1)
Duel.Remove(g1,POS_FACEUP,REASON_COST) Duel.Remove(g1,POS_FACEUP,REASON_COST)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end end
function c20862918.activate(e,tp,eg,ep,ev,re,r,rp) function c20862918.activate(e,tp,eg,ep,ev,re,r,rp)
local tg=e:GetLabelObject() local race,att,code1,code2=e:GetLabel()
local tc1=tg:GetFirst()
local tc2=tg:GetNext()
tg:DeleteGroup()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c20862918.thfilter,tp,LOCATION_DECK,0,1,1,nil,tc1,tc2) local g=Duel.SelectMatchingCard(tp,c20862918.thfilter,tp,LOCATION_DECK,0,1,1,nil,race,att,code1,code2)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT) Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
......
...@@ -14,20 +14,24 @@ function c76382116.initial_effect(c) ...@@ -14,20 +14,24 @@ function c76382116.initial_effect(c)
e1:SetOperation(c76382116.spop) e1:SetOperation(c76382116.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c76382116.spfilter(c,e,tp,g) function c76382116.spfilter(c,e,tp,...)
return (c:IsSetCard(0x134) or c:IsRace(RACE_MACHINE)) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE) return (c:IsSetCard(0x134) or c:IsRace(RACE_MACHINE)) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE)
and not g:IsExists(Card.IsCode,1,nil,c:GetCode()) and not c:IsCode(...)
end end
function c76382116.costfilter1(c,e,tp) function c76382116.costfilter1(c,e,tp)
return (c:IsSetCard(0x134) or c:IsRace(RACE_MACHINE)) and Duel.GetMZoneCount(tp,c)>0 return (c:IsSetCard(0x134) or c:IsRace(RACE_MACHINE)) and Duel.GetMZoneCount(tp,c)>0
and Duel.IsExistingMatchingCard(c76382116.spfilter,tp,LOCATION_HAND,0,1,nil,e,tp,Group.FromCards(c)) and Duel.IsExistingMatchingCard(c76382116.spfilter,tp,LOCATION_HAND,0,1,nil,e,tp,c:GetCode())
end end
function c76382116.costfilter2(c,e,tp) function c76382116.costfilter2(c,e,tp)
return (c:IsSetCard(0x134) or c:IsRace(RACE_MACHINE)) return (c:IsSetCard(0x134) or c:IsRace(RACE_MACHINE))
and Duel.IsExistingMatchingCard(c76382116.spfilter,tp,LOCATION_HAND,0,1,nil,e,tp,Group.FromCards(c)) and Duel.IsExistingMatchingCard(c76382116.spfilter,tp,LOCATION_HAND,0,1,nil,e,tp,c:GetCode())
end end
function c76382116.fselect(g,e,tp) function c76382116.fselect(g,e,tp)
local sg=Duel.GetMatchingGroup(c76382116.spfilter,tp,LOCATION_HAND,0,nil,e,tp,g) local code={}
for tc in aux.Next(g) do
table.insert(code,tc:GetCode())
end
local sg=Duel.GetMatchingGroup(c76382116.spfilter,tp,LOCATION_HAND,0,nil,e,tp,table.unpack(code))
if sg:CheckSubGroup(aux.dncheck,g:GetCount(),g:GetCount()) and Duel.GetMZoneCount(tp,g)>=g:GetCount() then if sg:CheckSubGroup(aux.dncheck,g:GetCount(),g:GetCount()) and Duel.GetMZoneCount(tp,g)>=g:GetCount() then
Duel.SetSelectedCard(g) Duel.SetSelectedCard(g)
return Duel.CheckReleaseGroup(tp,nil,0,nil) return Duel.CheckReleaseGroup(tp,nil,0,nil)
...@@ -36,25 +40,31 @@ end ...@@ -36,25 +40,31 @@ end
function c76382116.spcost(e,tp,eg,ep,ev,re,r,rp,chk) function c76382116.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,c76382116.costfilter1,1,nil,e,tp) end if chk==0 then return Duel.CheckReleaseGroup(tp,c76382116.costfilter1,1,nil,e,tp) end
local rg=Duel.GetReleaseGroup(tp):Filter(c76382116.costfilter2,nil,e,tp) local rg=Duel.GetReleaseGroup(tp):Filter(c76382116.costfilter2,nil,e,tp)
local ft=Duel.GetMZoneCount(tp,rg)
if Duel.IsPlayerAffectedByEffect(tp,59822133) then ft=1 end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local sg=rg:SelectSubGroup(tp,c76382116.fselect,false,1,99,e,tp) local sg=rg:SelectSubGroup(tp,c76382116.fselect,false,1,ft,e,tp)
sg:KeepAlive() local code={}
e:SetLabelObject(sg) for tc in aux.Next(sg) do
table.insert(code,tc:GetCode())
end
e:SetLabel(table.unpack(code))
Duel.Release(sg,REASON_COST) Duel.Release(sg,REASON_COST)
end end
function c76382116.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c76382116.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
local g=e:GetLabelObject() local code={e:GetLabel()}
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,g:GetCount(),tp,LOCATION_HAND) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,#code,tp,LOCATION_HAND)
end end
function c76382116.spop(e,tp,eg,ep,ev,re,r,rp) function c76382116.spop(e,tp,eg,ep,ev,re,r,rp)
local g=e:GetLabelObject() local code={e:GetLabel()}
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if ft<g:GetCount() then return end if ft>1 and Duel.IsPlayerAffectedByEffect(tp,59822133) then ft=1 end
local sg=Duel.GetMatchingGroup(c76382116.spfilter,tp,LOCATION_HAND,0,nil,e,tp,g) if ft<#code then return end
local sg=Duel.GetMatchingGroup(c76382116.spfilter,tp,LOCATION_HAND,0,nil,e,tp,table.unpack(code))
if sg:GetCount()==0 then return end if sg:GetCount()==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=sg:SelectSubGroup(tp,aux.dncheck,false,g:GetCount(),g:GetCount()) local tg=sg:SelectSubGroup(tp,aux.dncheck,false,#code,#code)
if tg and tg:GetCount()>0 then if tg and tg:GetCount()>0 then
Duel.SpecialSummon(tg,0,tp,tp,false,false,POS_FACEUP_DEFENSE) Duel.SpecialSummon(tg,0,tp,tp,false,false,POS_FACEUP_DEFENSE)
end end
......
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