Commit 74c09130 authored by 聖園ミカ's avatar 聖園ミカ 🐟

byd

parent e60bf2b2
...@@ -120,8 +120,8 @@ function cm.splimit(e,c,sump,sumtype,sumpos,targetp,se) ...@@ -120,8 +120,8 @@ function cm.splimit(e,c,sump,sumtype,sumpos,targetp,se)
end end
function cm.thfilter(c) function cm.thfilter(c)
return c:IsRace(RACE_MACHINE) and c:IsAttribute(ATTRIBUTE_DARK) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand() return c:IsSetCard(0x5a71,0x6a71) and c:IsAbleToHand()
and (not c:IsLocation(LOCATION_REMOVED) or c:IsFaceup()) and c:IsFaceup())
end end
function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_REMOVED,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_REMOVED,0,1,nil) end
......
...@@ -48,11 +48,11 @@ function cm.spcon(e,c) ...@@ -48,11 +48,11 @@ function cm.spcon(e,c)
if c==nil then return true end if c==nil then return true end
local tp=c:GetControler() local tp=c:GetControler()
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
return ft>-1 and Duel.CheckReleaseGroup(REASON_COST,tp,cm.spfilter,1,nil,ft,tp) return ft>-1 and Duel.CheckReleaseGroup(tp,cm.spfilter,1,nil,ft,tp)
end end
function cm.spop(e,tp,eg,ep,ev,re,r,rp,c) function cm.spop(e,tp,eg,ep,ev,re,r,rp,c)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
local g=Duel.SelectReleaseGroup(REASON_COST,tp,cm.spfilter,1,1,nil,ft,tp) local g=Duel.SelectReleaseGroup(tp,cm.spfilter,1,1,nil,ft,tp)
Duel.Release(g,REASON_COST) Duel.Release(g,REASON_COST)
end end
......
...@@ -139,13 +139,21 @@ function s.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -139,13 +139,21 @@ function s.thop(e,tp,eg,ep,ev,re,r,rp)
end end
function s.cfilter2(c,tp) function s.cfilter2(c,tp)
return c:GetOwner()==1-tp local rc
if c:GetReasonCard() then
rc=c:GetReasonCard()
elseif c:GetReasonEffect() then
rc=c:GetReasonEffect():GetHandler()
else
return false
end
return c:GetOwner()==1-tp
and c:IsPreviousLocation(LOCATION_ONFIELD) and c:IsPreviousLocation(LOCATION_ONFIELD)
and c:GetReasonPlayer()==tp and c:GetReasonPlayer()==tp
and c:GetReasonCard():IsSetCard(0x6410) and rc:IsSetCard(0x6410)
end end
function s.thcon2(e,tp,eg,ep,ev,re,r,rp) function s.thcon2(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(s.cfilter2,1,nil,tp) and Duel.GetFlagEffect(tp,id+20000)>Duel.GetFlagEffect(tp,id+20001) return eg:IsExists(s.cfilter2,1,nil,tp) and Duel.GetFlagEffect(tp,id+20000)>Duel.GetFlagEffect(tp,id+20001)
end end
function s.thop2(e,tp,eg,ep,ev,re,r,rp) function s.thop2(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterFlagEffect(tp,id+20002,RESET_PHASE+PHASE_END,0,1) Duel.RegisterFlagEffect(tp,id+20002,RESET_PHASE+PHASE_END,0,1)
...@@ -200,7 +208,7 @@ function s.thop3(e,tp,eg,ep,ev,re,r,rp) ...@@ -200,7 +208,7 @@ function s.thop3(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(g,nil,REASON_EFFECT) Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
local tc=g:GetFirst() local tc=g:GetFirst()
if (tc:IsSummonable(true,nil,1) or tc:IsMSetable(true,nil,1)) and Duel.SelectYesNo(tp,aux.Stringid(id,6)) then if (tc:IsSummonable(true,nil,1) or tc:IsMSetable(true,nil,1)) and Duel.SelectYesNo(tp,aux.Stringid(id,6)) then
local s1=tc:IsSummonable(true,nil,1) local s1=tc:IsSummonable(true,nil,1)
local s2=tc:IsMSetable(true,nil,1) local s2=tc:IsMSetable(true,nil,1)
if (s1 and s2 and Duel.SelectPosition(tp,tc,POS_FACEUP_ATTACK+POS_FACEDOWN_DEFENSE)==POS_FACEUP_ATTACK) or not s2 then if (s1 and s2 and Duel.SelectPosition(tp,tc,POS_FACEUP_ATTACK+POS_FACEDOWN_DEFENSE)==POS_FACEUP_ATTACK) or not s2 then
......
...@@ -81,7 +81,7 @@ function s.atkop(e,tp,eg,ep,ev,re,r,rp) ...@@ -81,7 +81,7 @@ function s.atkop(e,tp,eg,ep,ev,re,r,rp)
if #g>0 and Duel.SendtoGrave(g,REASON_EFFECT+REASON_RETURN)>0 then if #g>0 and Duel.SendtoGrave(g,REASON_EFFECT+REASON_RETURN)>0 then
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and tc:IsFaceup() then if tc:IsRelateToEffect(e) and tc:IsFaceup() then
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK) e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
......
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