Commit 03d0fa8c authored by 聖園ミカ's avatar 聖園ミカ 🐟

vme50

parent 95f457ac
...@@ -83,7 +83,7 @@ function s.op1(e,tp,eg,ep,ev,re,r,rp) ...@@ -83,7 +83,7 @@ function s.op1(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetMZoneCount(tp)<1 then return end if Duel.GetMZoneCount(tp)<1 then return end
if Duel.IsPlayerCanSpecialSummonMonster(tp,12400064,0,0x4011,3000,3000,6,RACE_PSYCHO,ATTRIBUTE_DARK) then if Duel.IsPlayerCanSpecialSummonMonster(tp,12400064,0,0x4011,3000,3000,6,RACE_PSYCHO,ATTRIBUTE_DARK) then
local token=Duel.CreateToken(tp,12400064) local token=Duel.CreateToken(tp,12400064)
Duel.SpecialSummonStep(token,0,tp,1-tp,false,false,POS_FACEUP) Duel.SpecialSummonStep(token,0,tp,tp,false,false,POS_FACEUP)
local e5=Effect.CreateEffect(e:GetHandler()) local e5=Effect.CreateEffect(e:GetHandler())
e5:SetCategory(CATEGORY_DAMAGE) e5:SetCategory(CATEGORY_DAMAGE)
e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
......
...@@ -86,7 +86,7 @@ end ...@@ -86,7 +86,7 @@ end
function cm.drop(e,tp,eg,ep,ev,re,r,rp) function cm.drop(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM) local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
local ftp=e:GetHandler():GetOwner() local ftp=e:GetHandler():GetOwner()
if Duel.Draw(p,d,REASON_EFFECT)~=0 and Duel.IsExistingMatchingCard(cm.sumfilter,ftp,LOCATION_HAND,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(m,3)) then if Duel.Draw(p,d,REASON_EFFECT)~=0 and Duel.IsExistingMatchingCard(cm.sumfilter,ftp,LOCATION_HAND,0,1,nil) and Duel.SelectYesNo(ftp,aux.Stringid(m,3)) then
Duel.BreakEffect() Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,ftp,HINTMSG_SUMMON) Duel.Hint(HINT_SELECTMSG,ftp,HINTMSG_SUMMON)
local g=Duel.SelectMatchingCard(ftp,cm.sumfilter,tp,LOCATION_HAND,0,1,1,nil) local g=Duel.SelectMatchingCard(ftp,cm.sumfilter,tp,LOCATION_HAND,0,1,1,nil)
......
...@@ -69,7 +69,7 @@ function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -69,7 +69,7 @@ function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.Release(c,REASON_COST) Duel.Release(c,REASON_COST)
end end
function cm.filter(c,e,tp) function cm.filter(c,e,tp)
return c:IsSetCard(0x1b0) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0x341) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,nil,e,tp) end if chk==0 then return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_GRAVE+LOCATION_REMOVED,0,1,nil,e,tp) end
......
...@@ -55,7 +55,7 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -55,7 +55,7 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function cm.desop(e,tp,eg,ep,ev,re,r,rp) function cm.desop(e,tp,eg,ep,ev,re,r,rp)
local mg=e:GetLabelObject() local mg=Duel.GetMatchingGroup(cm.eqfilter,tp,LOCATION_DECK+LOCATION_GRAVE,0,e:GetHandler())
local tc=e:GetHandler() local tc=e:GetHandler()
if #mg>0 and Duel.SelectYesNo(tp,aux.Stringid(m,2)) then if #mg>0 and Duel.SelectYesNo(tp,aux.Stringid(m,2)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_OPERATECARD)
......
...@@ -100,7 +100,7 @@ function cm.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -100,7 +100,7 @@ function cm.thop(e,tp,eg,ep,ev,re,r,rp)
if c:IsRelateToEffect(e) then if c:IsRelateToEffect(e) then
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 then if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 then
local hg=Duel.GetMatchingGroup(Card.IsSynchroSummonable,tp,LOCATION_EXTRA,0,nil,nil) local hg=Duel.GetMatchingGroup(Card.IsSynchroSummonable,tp,LOCATION_EXTRA,0,nil,nil)
if Duel.SelectYesNo(tp,aux.Stringid(m,3)) then if #hg>0 and Duel.SelectYesNo(tp,aux.Stringid(m,3)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=hg:Select(tp,1,1,nil) local sg=hg:Select(tp,1,1,nil)
Duel.SynchroSummon(tp,sg:GetFirst(),nil) Duel.SynchroSummon(tp,sg:GetFirst(),nil)
......
...@@ -30,9 +30,12 @@ end ...@@ -30,9 +30,12 @@ end
function s.tg(e,tp,eg,ep,ev,re,r,rp,chk) function s.tg(e,tp,eg,ep,ev,re,r,rp,chk)
local ck1=Duel.IsExistingMatchingCard(Card.IsAbleToGrave,tp,0,LOCATION_SZONE,1,nil) local ck1=Duel.IsExistingMatchingCard(Card.IsAbleToGrave,tp,0,LOCATION_SZONE,1,nil)
local ck2=Duel.IsExistingMatchingCard(s.mf,tp,0,LOCATION_MZONE,1,nil) local ck2=Duel.IsExistingMatchingCard(s.mf,tp,0,LOCATION_MZONE,1,nil)
if chk==0 then return (ck1 and Duel.IsExistingMatchingCard(s.df1,tp,LOCATION_HAND,0,1,e:GetHandler())) or (ck2 and Duel.IsExistingMatchingCard(s.df2,tp,LOCATION_HAND,0,1,e:GetHandler())) end if chk==0 then return (ck1 and Duel.IsExistingMatchingCard(s.df1,tp,LOCATION_HAND,0,1,e:GetHandler())) or (ck2 and (Duel.IsExistingMatchingCard(s.df2,tp,LOCATION_HAND,0,1,e:GetHandler()) or Duel.IsExistingMatchingCard(Card.IsCode,tp,LOCATION_FZONE,0,1,e:GetHandler(),64800236)) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISCARD) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DISCARD)
local tc=Duel.SelectMatchingCard(tp,s.df3,tp,LOCATION_HAND,0,1,1,nil,ck1,ck2):GetFirst() local sg=Duel.GetMatchingGroup(s.df3,tp,LOCATION_HAND,0,nil,ck1,ck2)
local fg=Duel.GetMatchingGroup(Card.IsCode,tp,LOCATION_FZONE,0,nil,64800236)
sg:Merge(fg)
local tc=sg:Select(tp,1,1,nil):GetFirst()
Duel.SendtoGrave(tc,REASON_DISCARD+REASON_COST) Duel.SendtoGrave(tc,REASON_DISCARD+REASON_COST)
if tc:IsType(TYPE_MONSTER) then if tc:IsType(TYPE_MONSTER) then
e:SetLabel(0) e:SetLabel(0)
......
...@@ -3,7 +3,7 @@ local m=64800232 ...@@ -3,7 +3,7 @@ local m=64800232
local cm=_G["c"..m] local cm=_G["c"..m]
function cm.initial_effect(c) function cm.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_TOGRAVE) e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DECKDES)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND) e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,m) e1:SetCountLimit(1,m)
...@@ -53,6 +53,7 @@ function cm.tg1(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -53,6 +53,7 @@ function cm.tg1(e,tp,eg,ep,ev,re,r,rp,chk)
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
and Duel.IsExistingMatchingCard(cm.tgfilter,tp,LOCATION_DECK,0,1,c,e,tp) end and Duel.IsExistingMatchingCard(cm.tgfilter,tp,LOCATION_DECK,0,1,c,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,LOCATION_DECK)
end end
function cm.op1(e,tp,eg,ep,ev,re,r,rp) function cm.op1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -22,17 +22,17 @@ function cm.initial_effect(c) ...@@ -22,17 +22,17 @@ function cm.initial_effect(c)
e2:SetOperation(cm.drop) e2:SetOperation(cm.drop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function cm.thfil(c,ec) function cm.thfil0(c,ec)
return (c:IsCode(m-9) or c:IsCode(m-8)) and c:IsAbleToHand() return (c:IsCode(m-9) or c:IsCode(m-8)) and c:IsAbleToHand()
end end
function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.thfil,tp,LOCATION_DECK,0,1,nil,e:GetHandler()) end if chk==0 then return Duel.IsExistingMatchingCard(cm.thfil0,tp,LOCATION_DECK,0,1,nil,e:GetHandler()) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end end
function cm.op(e,tp,eg,ep,ev,re,r,rp) function cm.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.thfil,tp,LOCATION_DECK,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,cm.thfil0,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then if g:GetCount()>0 then
if Duel.SendtoHand(g,tp,REASON_EFFECT)~=0 then if Duel.SendtoHand(g,tp,REASON_EFFECT)~=0 then
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
......
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