Commit 5765a831 authored by 聖園ミカ's avatar 聖園ミカ 🐟

vme50

parent f03a275c
...@@ -49,14 +49,6 @@ function Sr_skyland.speffect(c,code) ...@@ -49,14 +49,6 @@ function Sr_skyland.speffect(c,code)
e2:SetRange(LOCATION_GRAVE) e2:SetRange(LOCATION_GRAVE)
e2:SetProperty(EFFECT_FLAG_DELAY) e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetCountLimit(1,code+300) e2:SetCountLimit(1,code+300)
if code==12066010 then
e2:SetCondition(Sr_skyland.spcon1)
elseif code==12066011 then
e2:SetCondition(Sr_skyland.spcon2)
elseif code==12066012 then
e2:SetCondition(Sr_skyland.spcon3)
end
e2:SetCondition(c.spcon)
e2:SetTarget(Sr_skyland.sptg) e2:SetTarget(Sr_skyland.sptg)
e2:SetOperation(Sr_skyland.spop) e2:SetOperation(Sr_skyland.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
...@@ -82,40 +74,22 @@ function Sr_skyland.spellop(e,tp,eg,ep,ev,re,r,rp) ...@@ -82,40 +74,22 @@ function Sr_skyland.spellop(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(tc,nil,REASON_EFFECT) Duel.SendtoHand(tc,nil,REASON_EFFECT)
end end
end end
function Sr_skyland.conffil1(c,tp)
return c:GetSummonPlayer()==tp and c:IsPreviousLocation(LOCATION_EXTRA) and c:IsRank(1)
end
function Sr_skyland.spcon1(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(Sr_skyland.conffil1,1,nil,tp)
end
function Sr_skyland.conffil2(c,tp)
return c:GetSummonPlayer()==tp and c:IsPreviousLocation(LOCATION_EXTRA) and c:IsLevel(1)
end
function Sr_skyland.spcon2(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(Sr_skyland.conffil2,1,nil,tp)
end
function Sr_skyland.conffil3(c,tp)
return c:GetSummonPlayer()==tp and c:IsPreviousLocation(LOCATION_EXTRA) and c:IsLink(1)
end
function Sr_skyland.spcon3(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(Sr_skyland.conffil3,1,nil,tp)
end
function Sr_skyland.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function Sr_skyland.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end local c=e:GetHandler()
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c,1,0,0)
end end
function Sr_skyland.spop(e,tp,eg,ep,ev,re,r,rp) function Sr_skyland.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.SpecialSummonStep(c,0,tp,tp,false,false,POS_FACEUP) then if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK) e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(2000)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e1) e1:SetValue(2000)
c:RegisterEffect(e1,true)
end end
Duel.SpecialSummonComplete()
end end
function Sr_skyland.commoneffect_filter(c) function Sr_skyland.commoneffect_filter(c)
return srre.check_set_SkyLand(c) and c:IsAbleToGraveAsCost() return srre.check_set_SkyLand(c) and c:IsAbleToGraveAsCost()
...@@ -136,7 +110,7 @@ function Sr_skyland.commoneffect_spop(e,tp,eg,ep,ev,re,r,rp,c) ...@@ -136,7 +110,7 @@ function Sr_skyland.commoneffect_spop(e,tp,eg,ep,ev,re,r,rp,c)
if Duel.IsExistingMatchingCard(Sr_skyland.commoneffect_filter,tp,LOCATION_HAND,0,1,nil) and Duel.IsExistingMatchingCard(Sr_skyland.exfilter,tp,LOCATION_MZONE,0,1,nil) then if Duel.IsExistingMatchingCard(Sr_skyland.commoneffect_filter,tp,LOCATION_HAND,0,1,nil) and Duel.IsExistingMatchingCard(Sr_skyland.exfilter,tp,LOCATION_MZONE,0,1,nil) then
if Duel.SelectYesNo(tp,aux.Stringid(12066012,2)) then if Duel.SelectYesNo(tp,aux.Stringid(12066012,2)) then
local g=Duel.GetMatchingGroup(Sr_skyland.exfilter,tp,LOCATION_MZONE,0,nil) local g=Duel.GetMatchingGroup(Sr_skyland.exfilter,tp,LOCATION_MZONE,0,nil)
if #g>0 then if #g>1 then
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(12066012,3)) Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(12066012,3))
local tg=g:Select(tp,1,1,nil) local tg=g:Select(tp,1,1,nil)
tg:GetFirst():RemoveOverlayCard(tp,1,1,REASON_COST) tg:GetFirst():RemoveOverlayCard(tp,1,1,REASON_COST)
...@@ -156,7 +130,7 @@ function Sr_skyland.commoneffect_spop(e,tp,eg,ep,ev,re,r,rp,c) ...@@ -156,7 +130,7 @@ function Sr_skyland.commoneffect_spop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.SendtoGrave(g,REASON_COST+REASON_DISCARD) Duel.SendtoGrave(g,REASON_COST+REASON_DISCARD)
elseif Duel.IsExistingMatchingCard(Sr_skyland.exfilter,tp,LOCATION_MZONE,0,1,nil) then elseif Duel.IsExistingMatchingCard(Sr_skyland.exfilter,tp,LOCATION_MZONE,0,1,nil) then
local g=Duel.GetMatchingGroup(Sr_skyland.exfilter,tp,LOCATION_MZONE,0,nil) local g=Duel.GetMatchingGroup(Sr_skyland.exfilter,tp,LOCATION_MZONE,0,nil)
if #g>0 then if #g>1 then
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(12066012,3)) Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(12066012,3))
local tg=g:Select(tp,1,1,nil) local tg=g:Select(tp,1,1,nil)
tg:GetFirst():RemoveOverlayCard(tp,1,1,REASON_COST) tg:GetFirst():RemoveOverlayCard(tp,1,1,REASON_COST)
...@@ -176,7 +150,7 @@ function Sr_skyland.commoneffect_spop(e,tp,eg,ep,ev,re,r,rp,c) ...@@ -176,7 +150,7 @@ function Sr_skyland.commoneffect_spop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
function Sr_skyland.splimit1(e,c,tp,sumtp,sumpos) function Sr_skyland.splimit1(e,c,tp,sumtp,sumpos)
return not c:IsLevel(1) and not c:IsLocation(LOCATION_EXTRA) return not c:IsLocation(LOCATION_EXTRA) and not c:IsLevel(1)
end end
--天境 机动腕的卡雷 --天境 机动腕的卡雷
if not cm then return end if not cm then return end
......
...@@ -29,9 +29,11 @@ function cm.initial_effect(c) ...@@ -29,9 +29,11 @@ function cm.initial_effect(c)
c:RegisterEffect(e8) c:RegisterEffect(e8)
local e3=Sr_skyland.speffect(c,m) local e3=Sr_skyland.speffect(c,m)
e3:SetCondition(cm.spcon)
c:RegisterEffect(e3)
end end
function cm.conffil(c,tp) function cm.conffil(c,tp)
return c:GetSummonPlayer()==tp and c:IsPreviousLocation(LOCATION_EXTRA) and c:IsRank(1) return c:IsSummonPlayer(tp) and c:IsPreviousLocation(LOCATION_EXTRA) and c:IsRank(1)
end end
function cm.spcon(e,tp,eg,ep,ev,re,r,rp) function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.conffil,1,nil,tp) return eg:IsExists(cm.conffil,1,nil,tp)
......
...@@ -20,9 +20,11 @@ function cm.initial_effect(c) ...@@ -20,9 +20,11 @@ function cm.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e3=Sr_skyland.speffect(c,m) local e3=Sr_skyland.speffect(c,m)
e3:SetCondition(cm.spcon)
c:RegisterEffect(e3)
end end
function cm.conffil(c,tp) function cm.conffil(c,tp)
return c:GetSummonPlayer()==tp and c:IsPreviousLocation(LOCATION_EXTRA) and c:IsLevel(1) return c:IsSummonPlayer(tp) and c:IsPreviousLocation(LOCATION_EXTRA) and c:IsLevel(1)
end end
function cm.spcon(e,tp,eg,ep,ev,re,r,rp) function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.conffil,1,nil,tp) return eg:IsExists(cm.conffil,1,nil,tp)
...@@ -35,7 +37,7 @@ function cm.thfilter(c) ...@@ -35,7 +37,7 @@ function cm.thfilter(c)
end end
function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk) function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToDeckAsCost,tp,LOCATION_HAND,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToDeckAsCost,tp,LOCATION_HAND,0,1,nil) end
td=Duel.SelectMatchingCard(tp,Card.IsAbleToDeckAsCost,tp,LOCATION_HAND,0,1,1,nil) local td=Duel.SelectMatchingCard(tp,Card.IsAbleToDeckAsCost,tp,LOCATION_HAND,0,1,1,nil)
Duel.SendtoDeck(td,nil,1,REASON_COST) Duel.SendtoDeck(td,nil,1,REASON_COST)
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)
......
...@@ -10,7 +10,7 @@ function cm.initial_effect(c) ...@@ -10,7 +10,7 @@ function cm.initial_effect(c)
--special summon (hand) --special summon (hand)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0)) e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_TOGRAVE) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SPSUMMON_SUCCESS) e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY) e1:SetProperty(EFFECT_FLAG_DELAY)
...@@ -21,12 +21,14 @@ function cm.initial_effect(c) ...@@ -21,12 +21,14 @@ function cm.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
-- --
local e3=Sr_skyland.speffect(c,m) local e3=Sr_skyland.speffect(c,m)
e3:SetCondition(cm.spcon)
c:RegisterEffect(e3)
end end
function cm.mfilter(c,e,tp) function cm.mfilter(c,e,tp)
return srre.check_set_SkyLand(c) return srre.check_set_SkyLand(c)
end end
function cm.conffil(c,tp) function cm.conffil(c,tp)
return c:GetSummonPlayer()==tp and c:IsPreviousLocation(LOCATION_EXTRA) and c:IsLink(1) return c:IsSummonPlayer(tp) and c:IsPreviousLocation(LOCATION_EXTRA) and c:IsLink(1)
end end
function cm.spcon(e,tp,eg,ep,ev,re,r,rp) function cm.spcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.conffil,1,nil,tp) return eg:IsExists(cm.conffil,1,nil,tp)
......
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