Commit b971e7c6 authored by wind2009's avatar wind2009

Fix 影霊衣

parent b197eab0
No preview for this file type
...@@ -10,4 +10,8 @@ ...@@ -10,4 +10,8 @@
100227042 100227042
100227043 100227043
100227044 100227044
100227045 100227045
\ No newline at end of file 100227072
100227073
100227074
100227075
--葬角のカルノヴルス --葬角のカルノヴルス
local s,id,o=GetID() local s,id,o=GetID()
---@param c Card
function s.initial_effect(c) function s.initial_effect(c)
--Synchro summon --Synchro summon
aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1) aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1)
......
--魔轟神獣ベヒルモス --魔轟神獣ベヒルモス
local s,id,o=GetID() local s,id,o=GetID()
---@param c Card
function s.initial_effect(c) function s.initial_effect(c)
--synchro summon --synchro summon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--魔轟神ガミュジン --魔轟神ガミュジン
local s,id,o=GetID() local s,id,o=GetID()
---@param c Card
function s.initial_effect(c) function s.initial_effect(c)
--synchro summon --synchro summon
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsSetCard,0x35),aux.NonTuner(nil),1) aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsSetCard,0x35),aux.NonTuner(nil),1)
......
--魔轟神レヴェルゼブル --魔轟神レヴェルゼブル
local s,id,o=GetID() local s,id,o=GetID()
---@param c Card
function s.initial_effect(c) function s.initial_effect(c)
aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1) aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1)
c:EnableReviveLimit() c:EnableReviveLimit()
......
--魔轟神界の復活 --魔轟神界の復活
local s,id,o=GetID() local s,id,o=GetID()
---@param c Card
function s.initial_effect(c) function s.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--ジュラック・メガロ --ジュラック・メガロ
local s,id,o=GetID() local s,id,o=GetID()
---@param c Card
function s.initial_effect(c) function s.initial_effect(c)
aux.AddCodeList(c,id) aux.AddCodeList(c,id)
--spsummon --spsummon
......
--ジュラック・メガロ --ジュラック・メガロ
local s,id,o=GetID() local s,id,o=GetID()
---@param c Card
function s.initial_effect(c) function s.initial_effect(c)
aux.AddCodeList(c,id) aux.AddCodeList(c,id)
--special summon --special summon
......
--ジュラック・アステロ --ジュラック・アステロ
local s,id,o=GetID() local s,id,o=GetID()
---@param c Card
function s.initial_effect(c) function s.initial_effect(c)
aux.AddCodeList(c,17548456) aux.AddCodeList(c,17548456)
--synchro summon --synchro summon
......
--ジュラック・ヴォルケーノ --ジュラック・ヴォルケーノ
local s,id,o=GetID() local s,id,o=GetID()
---@param c Card
function s.initial_effect(c) function s.initial_effect(c)
aux.AddCodeList(c,17548456) aux.AddCodeList(c,17548456)
--Activate --Activate
......
--ジェムナイトマスター・ダイヤ-ディスパージョン --ジェムナイトマスター・ダイヤ-ディスパージョン
local s,id,o=GetID() local s,id,o=GetID()
---@param c Card
function s.initial_effect(c) function s.initial_effect(c)
--fusion material --fusion material
aux.AddFusionProcFunRep(c,aux.FilterBoolFunction(Card.IsFusionSetCard,0x47),3,true) aux.AddFusionProcFunRep(c,aux.FilterBoolFunction(Card.IsFusionSetCard,0x47),3,true)
......
--ジェムナイト・ネピリム --ジェムナイト・ネピリム
local s,id,o=GetID() local s,id,o=GetID()
---@param c Card
function s.initial_effect(c) function s.initial_effect(c)
--search --search
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--ジェムナイト・ヴォイドルーツ --ジェムナイト・ヴォイドルーツ
local s,id,o=GetID() local s,id,o=GetID()
---@param c Card
function s.initial_effect(c) function s.initial_effect(c)
aux.AddCodeList(c,1264319) aux.AddCodeList(c,1264319)
--special summon --special summon
......
--ジェムナイト・ディスパージョン --ジェムナイト・ディスパージョン
local s,id,o=GetID() local s,id,o=GetID()
---@param c Card
function s.initial_effect(c) function s.initial_effect(c)
aux.AddCodeList(c,1264319) aux.AddCodeList(c,1264319)
--Activate 1 --Activate 1
......
--影霊衣の魔剣士 アバンス --影霊衣の魔剣士 アバンス
local s,id,o=GetID() local s,id,o=GetID()
---@param c Card
function s.initial_effect(c) function s.initial_effect(c)
--special summon --special summon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -55,7 +56,7 @@ function s.rlevel(e,c) ...@@ -55,7 +56,7 @@ function s.rlevel(e,c)
else return lv end else return lv end
end end
function s.thcon(e,tp,eg,ep,ev,re,r,rp) function s.thcon(e,tp,eg,ep,ev,re,r,rp)
return bit.band(r,REASON_EFFECT)~=0 return r&REASON_EFFECT~=0
end end
function s.thfilter(c) function s.thfilter(c)
return c:IsFaceupEx() and c:IsSetCard(0xb4) and c:IsAbleToHand() return c:IsFaceupEx() and c:IsSetCard(0xb4) and c:IsAbleToHand()
......
--影霊衣の舞巫女 エミリア --影霊衣の舞巫女 エミリア
local s,id,o=GetID() local s,id,o=GetID()
---@param c Card
function s.initial_effect(c) function s.initial_effect(c)
--special summon --special summon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -53,8 +54,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -53,8 +54,7 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
end end
function s.thfilter(c) function s.thfilter(c)
return c:IsSetCard(0xb4) and c:IsAbleToHand() return c:IsSetCard(0xb4) and c:IsAbleToHand()
and (c:GetType()&TYPE_MONSTER+TYPE_RITUAL==TYPE_MONSTER+TYPE_RITUAL and (c:IsAllTypes(TYPE_MONSTER+TYPE_RITUAL) or c:IsType(TYPE_SPELL))
or c:IsType(TYPE_SPELL))
end end
function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_DECK,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_DECK,0,1,nil) end
......
--メタトロンの影霊衣 --メタトロンの影霊衣
local s,id,o=GetID() local s,id,o=GetID()
---@param c Card
function s.initial_effect(c) function s.initial_effect(c)
aux.EnablePendulumAttribute(c) aux.EnablePendulumAttribute(c)
--Cannot Special Summon --Cannot Special Summon
...@@ -51,8 +52,7 @@ function s.mat_filter(c) ...@@ -51,8 +52,7 @@ function s.mat_filter(c)
end end
function s.cfilter(c,tp) function s.cfilter(c,tp)
return c:IsPreviousPosition(POS_FACEUP) and c:IsPreviousControler(tp) return c:IsPreviousPosition(POS_FACEUP) and c:IsPreviousControler(tp)
and c:IsControler(tp) and c:IsControler(tp) and c:IsSetCard(0xb4)
and c:IsSetCard(0xb4)
end end
function s.rmcon(e,tp,eg,ep,ev,re,r,rp) function s.rmcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(s.cfilter,1,nil,tp) and e:GetHandler():IsStatus(STATUS_EFFECT_ENABLED) return eg:IsExists(s.cfilter,1,nil,tp) and e:GetHandler():IsStatus(STATUS_EFFECT_ENABLED)
...@@ -62,7 +62,7 @@ function s.rmfilter(c) ...@@ -62,7 +62,7 @@ function s.rmfilter(c)
end end
function s.rmtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function s.rmtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and s.rmfilter(chkc) end if chkc then return chkc:IsOnField() and s.rmfilter(chkc) end
if chk==0 then return true end if chk==0 then return Duel.IsExistingTarget(s.rmfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectTarget(tp,s.rmfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil) local g=Duel.SelectTarget(tp,s.rmfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_REMOVE,g,1,0,0)
...@@ -81,8 +81,9 @@ function s.rmfilter2(c) ...@@ -81,8 +81,9 @@ function s.rmfilter2(c)
return c:IsType(TYPE_MONSTER) and c:IsFaceup() and c:IsAbleToRemove() return c:IsType(TYPE_MONSTER) and c:IsFaceup() and c:IsAbleToRemove()
end end
function s.rmtg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function s.rmtg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc:IsControler(1-tp) and s.rmfilter2(chkc) end local c=e:GetHandler()
if chk==0 then return true end if chkc then return c:IsAbleToRemove() and chkc:IsOnField() and chkc:IsControler(1-tp) and s.rmfilter2(chkc) end
if chk==0 then return c:IsAbleToRemove() and Duel.IsExistingTarget(s.rmfilter2,tp,0,LOCATION_MZONE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectTarget(tp,s.rmfilter2,tp,0,LOCATION_MZONE,1,1,nil) local g=Duel.SelectTarget(tp,s.rmfilter2,tp,0,LOCATION_MZONE,1,1,nil)
g:AddCard(e:GetHandler()) g:AddCard(e:GetHandler())
...@@ -91,8 +92,8 @@ end ...@@ -91,8 +92,8 @@ end
function s.rmop2(e,tp,eg,ep,ev,re,r,rp) function s.rmop2(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if c:IsFaceup() and c:IsRelateToEffect(e) and c:IsAbleToRemove() then if c:IsRelateToEffect(e) and c:IsAbleToRemove() and Duel.Remove(c,0,REASON_EFFECT+REASON_TEMPORARY)~=0 then
if Duel.Remove(c,0,REASON_EFFECT+REASON_TEMPORARY)~=0 and c:GetOriginalCode()==id then if c:GetOriginalCode()==id then
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE+PHASE_END) e1:SetCode(EVENT_PHASE+PHASE_END)
...@@ -101,10 +102,9 @@ function s.rmop2(e,tp,eg,ep,ev,re,r,rp) ...@@ -101,10 +102,9 @@ function s.rmop2(e,tp,eg,ep,ev,re,r,rp)
e1:SetCountLimit(1) e1:SetCountLimit(1)
e1:SetOperation(s.retop) e1:SetOperation(s.retop)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
if tc:IsRelateToEffect(e) then end
Duel.BreakEffect() if tc:IsRelateToEffect(e) and tc:IsType(TYPE_MONSTER) then
Duel.Remove(tc,POS_FACEUP,REASON_EFFECT) Duel.Remove(tc,POS_FACEUP,REASON_EFFECT)
end
end end
end end
end end
......
--影霊衣の神魔鏡 --影霊衣の神魔鏡
local s,id,o=GetID() local s,id,o=GetID()
---@param c Card
function s.initial_effect(c) function s.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
...@@ -13,6 +15,7 @@ function s.initial_effect(c) ...@@ -13,6 +15,7 @@ function s.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--search --search
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(id,1))
e2:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND) e2:SetCategory(CATEGORY_SEARCH+CATEGORY_TOHAND)
e2:SetType(EFFECT_TYPE_IGNITION) e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE) e2:SetRange(LOCATION_GRAVE)
...@@ -63,9 +66,6 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -63,9 +66,6 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
if not mat then goto cancel end if not mat then goto cancel end
tc:SetMaterial(mat) tc:SetMaterial(mat)
local mat2=mat:Filter(Card.IsLocation,nil,LOCATION_EXTRA):Filter(s.mfilter,nil) local mat2=mat:Filter(Card.IsLocation,nil,LOCATION_EXTRA):Filter(s.mfilter,nil)
if #mat2>0 then
Duel.HintSelection(mat2)
end
mat:Sub(mat2) mat:Sub(mat2)
Duel.ReleaseRitualMaterial(mat) Duel.ReleaseRitualMaterial(mat)
Duel.SendtoGrave(mat2,REASON_EFFECT+REASON_MATERIAL+REASON_RITUAL) Duel.SendtoGrave(mat2,REASON_EFFECT+REASON_MATERIAL+REASON_RITUAL)
...@@ -78,11 +78,12 @@ function s.cfilter(c) ...@@ -78,11 +78,12 @@ function s.cfilter(c)
return c:IsSetCard(0xb4) and c:IsType(TYPE_MONSTER) and c:IsAbleToRemoveAsCost() return c:IsSetCard(0xb4) and c:IsType(TYPE_MONSTER) and c:IsAbleToRemoveAsCost()
end end
function s.thcost(e,tp,eg,ep,ev,re,r,rp,chk) function s.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToRemoveAsCost() local c=e:GetHandler()
if chk==0 then return c:IsAbleToRemoveAsCost()
and Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_GRAVE,0,1,nil) end and Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_GRAVE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,s.cfilter,tp,LOCATION_GRAVE,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,s.cfilter,tp,LOCATION_GRAVE,0,1,1,nil)
g:AddCard(e:GetHandler()) g:AddCard(c)
Duel.Remove(g,POS_FACEUP,REASON_COST) Duel.Remove(g,POS_FACEUP,REASON_COST)
end end
function s.thfilter(c) function s.thfilter(c)
......
--オルフェゴール・ガラテアi --オルフェゴール・ガラテアi
local s,id,o=GetID() local s,id,o=GetID()
---@param c Card
function s.initial_effect(c) function s.initial_effect(c)
--link summon --link summon
aux.AddCodeList(c,90351981) aux.AddCodeList(c,90351981)
......
--宵星の騎士エンリルギルス --宵星の騎士エンリルギルス
local s,id,o=GetID() local s,id,o=GetID()
---@param c Card
function s.initial_effect(c) function s.initial_effect(c)
--link summon --link summon
aux.AddLinkProcedure(c,nil,2,99,s.lcheck) aux.AddLinkProcedure(c,nil,2,99,s.lcheck)
......
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