Commit b15d2da5 authored by VanillaSalt's avatar VanillaSalt

Merge pull request #755 from salix5/fix901

fix901
parents 1ebf1261 aa21fc8e
--EMソード・フィッシュ
function c15452045.initial_effect(c)
function c15452043.initial_effect(c)
--addown
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(15452045,0))
e1:SetDescription(aux.Stringid(15452043,0))
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetOperation(c15452045.operation)
e1:SetOperation(c15452043.operation)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
--addown
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(15452045,1))
e3:SetDescription(aux.Stringid(15452043,1))
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetRange(LOCATION_MZONE)
e3:SetCondition(c15452045.condition)
e3:SetOperation(c15452045.operation)
e3:SetCondition(c15452043.condition)
e3:SetOperation(c15452043.operation)
c:RegisterEffect(e3)
end
function c15452045.cfilter(c,tp)
function c15452043.cfilter(c,tp)
return c:GetSummonPlayer()==tp
end
function c15452045.condition(e,tp,eg,ep,ev,re,r,rp)
return not eg:IsContains(e:GetHandler()) and eg:IsExists(c15452045.cfilter,1,nil,tp)
function c15452043.condition(e,tp,eg,ep,ev,re,r,rp)
return not eg:IsContains(e:GetHandler()) and eg:IsExists(c15452043.cfilter,1,nil,tp)
end
function c15452045.operation(e,tp,eg,ep,ev,re,r,rp)
function c15452043.operation(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,0,LOCATION_MZONE,nil)
local tc=g:GetFirst()
while tc do
......
--閃光の騎士
function c17390179.initial_effect(c)
--pendulum summon
aux.AddPendulumProcedure(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetOperation(c17390179.op)
c:RegisterEffect(e1)
end
function c17390179.op(e,tp,eg,ep,ev,re,r,rp)
end
--星輝士 デルタテロス
function c5663825.initial_effect(c)
function c56638325.initial_effect(c)
--xyz summon
aux.AddXyzProcedure(c,aux.XyzFilterFunction(c,4),3)
c:EnableReviveLimit()
......@@ -8,80 +8,80 @@ function c5663825.initial_effect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetRange(LOCATION_MZONE)
e1:SetCondition(c5663825.limcon)
e1:SetOperation(c5663825.limop)
e1:SetCondition(c56638325.limcon)
e1:SetOperation(c56638325.limop)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2)
--destroy
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(5663825,0))
e3:SetDescription(aux.Stringid(56638325,0))
e3:SetCategory(CATEGORY_DESTROY)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetRange(LOCATION_MZONE)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetCountLimit(1)
e3:SetCost(c5663825.descost)
e3:SetTarget(c5663825.destg)
e3:SetOperation(c5663825.desop)
e3:SetCost(c56638325.descost)
e3:SetTarget(c56638325.destg)
e3:SetOperation(c56638325.desop)
c:RegisterEffect(e3)
--spsummon
local e4=Effect.CreateEffect(c)
e4:SetDescription(aux.Stringid(5663825,1))
e4:SetDescription(aux.Stringid(56638325,1))
e4:SetCategory(CATEGORY_SPECIAL_SUMMON)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e4:SetCode(EVENT_TO_GRAVE)
e4:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
e4:SetCondition(c5663825.spcon)
e4:SetTarget(c5663825.sptg)
e4:SetOperation(c5663825.spop)
e4:SetCondition(c56638325.spcon)
e4:SetTarget(c56638325.sptg)
e4:SetOperation(c56638325.spop)
c:RegisterEffect(e4)
end
function c5663825.limfilter(c,tp)
function c56638325.limfilter(c,tp)
return c:GetSummonPlayer()==tp
end
function c5663825.limcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetOverlayCount()>0 and eg:IsExists(c5663825.limfilter,1,nil,tp)
function c56638325.limcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetOverlayCount()>0 and eg:IsExists(c56638325.limfilter,1,nil,tp)
end
function c5663825.limop(e,tp,eg,ep,ev,re,r,rp)
Duel.SetChainLimitTillChainEnd(c5663825.chainlm)
function c56638325.limop(e,tp,eg,ep,ev,re,r,rp)
Duel.SetChainLimitTillChainEnd(c56638325.chainlm)
end
function c5663825.chainlm(e,rp,tp)
function c56638325.chainlm(e,rp,tp)
return tp==rp
end
function c5663825.descost(e,tp,eg,ep,ev,re,r,rp,chk)
function c56638325.descost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():CheckRemoveOverlayCard(tp,1,REASON_COST) end
e:GetHandler():RemoveOverlayCard(tp,1,1,REASON_COST)
end
function c5663825.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
function c56638325.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc:IsDestructable() end
if chk==0 then return Duel.IsExistingTarget(Card.IsDestructable,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,Card.IsDestructable,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
end
function c5663825.desop(e,tp,eg,ep,ev,re,r,rp)
function c56638325.desop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.Destroy(tc,REASON_EFFECT)
end
end
function c5663825.spcon(e,tp,eg,ep,ev,re,r,rp)
function c56638325.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD)
end
function c5663825.spfilter(c,e,tp)
function c56638325.spfilter(c,e,tp)
return c:IsSetCard(0x9c) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c5663825.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
function c56638325.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c5663825.spfilter,tp,LOCATION_HAND+LOCATION_DECK,0,1,nil,e,tp) end
and Duel.IsExistingMatchingCard(c56638325.spfilter,tp,LOCATION_HAND+LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_DECK)
end
function c5663825.spop(e,tp,eg,ep,ev,re,r,rp)
function c56638325.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c5663825.spfilter,tp,LOCATION_HAND+LOCATION_DECK,0,1,1,nil,e,tp)
local g=Duel.SelectMatchingCard(tp,c56638325.spfilter,tp,LOCATION_HAND+LOCATION_DECK,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
......
--光天使スケール
function c64226269.initial_effect(c)
function c64726269.initial_effect(c)
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(64226269,0))
e1:SetDescription(aux.Stringid(64726269,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetTarget(c64226269.sptg)
e1:SetOperation(c64226269.spop)
e1:SetTarget(c64726269.sptg)
e1:SetOperation(c64726269.spop)
c:RegisterEffect(e1)
--effect gain
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_BE_MATERIAL)
e2:SetCondition(c64226269.effcon)
e2:SetOperation(c64226269.effop)
e2:SetCondition(c64726269.effcon)
e2:SetOperation(c64726269.effop)
c:RegisterEffect(e2)
end
function c64226269.filter(c,e,tp)
function c64726269.filter(c,e,tp)
return c:IsSetCard(0x86) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c64226269.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
function c64726269.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c64226269.filter,tp,LOCATION_DECK,0,1,nil,e,tp) end
and Duel.IsExistingMatchingCard(c64726269.filter,tp,LOCATION_DECK,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end
function c64226269.tdfilter(c)
function c64726269.tdfilter(c)
return c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsAbleToDeck()
end
function c64226269.spop(e,tp,eg,ep,ev,re,r,rp)
function c64726269.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c64226269.filter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
local g=Duel.SelectMatchingCard(tp,c64726269.filter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
local sg=Duel.GetMatchingGroup(c64226269.tdfilter,tp,LOCATION_GRAVE,0,nil)
if sg:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(64226269,1)) then
local sg=Duel.GetMatchingGroup(c64726269.tdfilter,tp,LOCATION_GRAVE,0,nil)
if sg:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(64726269,1)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local tg=sg:Select(tp,1,1,nil)
Duel.SendtoDeck(tg,nil,0,REASON_EFFECT)
end
end
end
function c64226269.effcon(e,tp,eg,ep,ev,re,r,rp)
function c64726269.effcon(e,tp,eg,ep,ev,re,r,rp)
return r==REASON_XYZ and e:GetHandler():GetReasonCard():GetMaterial():IsExists(Card.IsLocation,3,nil,LOCATION_MZONE)
end
function c64226269.effop(e,tp,eg,ep,ev,re,r,rp)
function c64726269.effop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local rc=c:GetReasonCard()
local e1=Effect.CreateEffect(c)
......@@ -54,8 +54,8 @@ function c64226269.effop(e,tp,eg,ep,ev,re,r,rp)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1)
e1:SetCondition(c64226269.drcon)
e1:SetOperation(c64226269.drop)
e1:SetCondition(c64726269.drcon)
e1:SetOperation(c64726269.drop)
e1:SetReset(RESET_EVENT+0x1fe0000)
rc:RegisterEffect(e1)
if not rc:IsType(TYPE_EFFECT) then
......@@ -67,10 +67,10 @@ function c64226269.effop(e,tp,eg,ep,ev,re,r,rp)
rc:RegisterEffect(e2)
end
end
function c64226269.drcon(e,tp,eg,ep,ev,re,r,rp)
function c64726269.drcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetOverlayCount()~=0 and eg:IsExists(Card.IsPreviousLocation,1,nil,LOCATION_HAND)
end
function c64226269.drop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,0,64226269)
function c64726269.drop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_CARD,0,64726269)
Duel.Draw(tp,1,REASON_EFFECT)
end
--死の代行者 ウラヌス
function c97250514.initial_effect(c)
function c97750534.initial_effect(c)
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_HAND)
e1:SetCondition(c97250514.spcon)
e1:SetCondition(c97750534.spcon)
c:RegisterEffect(e1)
--tograve
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(97250514,0))
e2:SetDescription(aux.Stringid(97750534,0))
e2:SetCategory(CATEGORY_TOGRAVE)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1)
e2:SetTarget(c97250514.tgtg)
e2:SetOperation(c97250514.tgop)
e2:SetTarget(c97750534.tgtg)
e2:SetOperation(c97750534.tgop)
c:RegisterEffect(e2)
end
function c97250514.spcon(e,c)
function c97750534.spcon(e,c)
if c==nil then return true end
return Duel.IsEnvironment(56433456) and Duel.GetLocationCount(c:GetControler(),LOCATION_MZONE)>0
end
function c97250514.filter(c)
function c97750534.filter(c)
return c:IsSetCard(0x44) and c:IsAbleToGrave()
end
function c97250514.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c97250514.filter,tp,LOCATION_DECK,0,1,nil) end
function c97750534.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c97750534.filter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,1,tp,LOCATION_DECK)
end
function c97250514.tgop(e,tp,eg,ep,ev,re,r,rp)
function c97750534.tgop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c97250514.filter,tp,LOCATION_DECK,0,1,1,nil)
local g=Duel.SelectMatchingCard(tp,c97750534.filter,tp,LOCATION_DECK,0,1,1,nil)
local tc=g:GetFirst()
if tc and Duel.SendtoGrave(tc,REASON_EFFECT)~=0 and tc:IsLocation(LOCATION_GRAVE) then
local lv=tc:GetLevel()
......
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