Commit 8fa9cbfb authored by POLYMER's avatar POLYMER

fix

parent 6c32dd42
...@@ -37,7 +37,9 @@ end ...@@ -37,7 +37,9 @@ end
function cm.valcheck(e,c) function cm.valcheck(e,c)
local mg=c:GetMaterial() local mg=c:GetMaterial()
local tc=mg:Filter(Card.IsFusionCode,nil,89943723):GetFirst() local tc=mg:Filter(Card.IsFusionCode,nil,89943723):GetFirst()
mg:RemoveCard(tc) if tc then
mg:RemoveCard(tc)
end
if mg:IsExists(Card.IsFusionSetCard,1,nil,0x9) then if mg:IsExists(Card.IsFusionSetCard,1,nil,0x9) then
c:RegisterFlagEffect(0,RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD,0,1) c:RegisterFlagEffect(0,RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD,0,1)
end end
...@@ -55,7 +57,9 @@ function cm.regop(e,tp,eg,ep,ev,re,r,rp) ...@@ -55,7 +57,9 @@ function cm.regop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local mg=c:GetMaterial() local mg=c:GetMaterial()
local tc=mg:Filter(Card.IsFusionCode,nil,89943723):GetFirst() local tc=mg:Filter(Card.IsFusionCode,nil,89943723):GetFirst()
mg:RemoveCard(tc) if tc then
mg:RemoveCard(tc)
end
if mg:IsExists(Card.IsFusionSetCard,1,nil,0x9) or c:GetFlagEffect(0)~=0 then if mg:IsExists(Card.IsFusionSetCard,1,nil,0x9) or c:GetFlagEffect(0)~=0 then
--activate limit - xinyu --activate limit - xinyu
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--黑之魂的拥抱
function c95101164.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,95101164)
e1:SetTarget(c95101164.target)
e1:SetOperation(c95101164.activate)
c:RegisterEffect(e1)
--draw
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_DRAW)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetCountLimit(1,95101164+1)
e2:SetCost(aux.bfgcost)
e2:SetTarget(c95101164.ovtg)
e2:SetOperation(c95101164.ovop)
c:RegisterEffect(e2)
end
function c95101164.thfilter(c)
return c:IsSetCard(0xbbf) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
end
function c95101164.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c95101164.thfilter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c95101164.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local tc=Duel.SelectMatchingCard(tp,c95101164.thfilter,tp,LOCATION_DECK,0,1,1,nil):GetFirst()
if tc then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
end
end
function c95101164.xfilter(c)
return c:IsSetCard(0xbbf) and c:IsType(TYPE_XYZ) and c:IsFaceup()
end
function c95101164.ovfilter(c)
return c:IsSetCard(0xbbf) and c:IsType(TYPE_MONSTER) and c:IsCanOverlay()
end
function c95101164.ovtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c95101164.xfilter,tp,LOCATION_MZONE,0,1,nil) and Duel.IsExistingMatchingCard(c95101164.ovfilter,tp,LOCATION_DECK,0,1,nil,0) and Duel.IsPlayerCanDraw(tp,1) end
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
function c95101164.ovop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local tc=Duel.SelectMatchingCard(tp,c95101164.xfilter,tp,LOCATION_MZONE,0,1,1,nil):GetFirst()
if not tc then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL)
local g=Duel.SelectMatchingCard(tp,c95101164.ovfilter,tp,LOCATION_DECK,0,1,1,nil)
if #g~=1 then return end
Duel.Overlay(tc,g)
Duel.BreakEffect()
Duel.Draw(tp,1,REASON_EFFECT)
end
...@@ -32,9 +32,9 @@ function c98920160.cfilter(c,e,tp) ...@@ -32,9 +32,9 @@ function c98920160.cfilter(c,e,tp)
and Duel.GetMZoneCount(tp,c)>0 and Duel.IsExistingMatchingCard(c98920160.filter,tp,LOCATION_EXTRA,0,1,nil,e,tp,c:GetCode()) and Duel.GetMZoneCount(tp,c)>0 and Duel.IsExistingMatchingCard(c98920160.filter,tp,LOCATION_EXTRA,0,1,nil,e,tp,c:GetCode())
end end
function c98920160.cost(e,tp,eg,ep,ev,re,r,rp,chk) function c98920160.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroupEx(tp,c98920160.cfilter,1,nil,e,tp) end if chk==0 then return Duel.CheckReleaseGroupEx(tp,c98920160.cfilter,1,REASON_COST,true,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectReleaseGroupEx(tp,c98920160.cfilter,1,1,nil,e,tp) local g=Duel.SelectReleaseGroupEx(tp,c98920160.cfilter,1,1,REASON_COST,true,nil,e,tp)
e:SetLabel(g:GetFirst():GetCode()) e:SetLabel(g:GetFirst():GetCode())
Duel.Release(g,REASON_COST) Duel.Release(g,REASON_COST)
end end
......
...@@ -43,14 +43,14 @@ end ...@@ -43,14 +43,14 @@ end
function c98920655.fselect(g,e,tp) function c98920655.fselect(g,e,tp)
return aux.drccheck(g) and g:IsExists(Card.IsAbleToHand,2,nil) and g:IsExists(Card.IsCanBeSpecialSummoned,1,nil,e,0,tp,false,false) return aux.drccheck(g) and g:IsExists(Card.IsAbleToHand,2,nil) and g:IsExists(Card.IsCanBeSpecialSummoned,1,nil,e,0,tp,false,false)
end end
function c98920655.spfilter(c,e,tp) function c98920655.atfilter(c,e,tp)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsAbleToHand()
end end
function c98920655.spop(e,tp,eg,ep,ev,re,r,rp) function c98920655.spop(e,tp,eg,ep,ev,re,r,rp)
local tg=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e) local tg=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
if tg:GetCount()>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then if tg:GetCount()>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=tg:FilterSelect(tp,c98920655.spfilter,1,1,nil,e,tp) local sg=tg:FilterSelect(tp,c98920655.atfilter,1,1,nil,e,tp)
if sg:GetCount()>0 then if sg:GetCount()>0 then
Duel.SendtoHand(sg,nil,REASON_EFFECT) Duel.SendtoHand(sg,nil,REASON_EFFECT)
tg:Sub(sg) tg:Sub(sg)
......
...@@ -16,7 +16,6 @@ function c98920700.initial_effect(c) ...@@ -16,7 +16,6 @@ function c98920700.initial_effect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY) e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SUMMON_SUCCESS) e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetCountLimit(1,98920700)
e1:SetTarget(c98920700.sptg) e1:SetTarget(c98920700.sptg)
e1:SetOperation(c98920700.spop) e1:SetOperation(c98920700.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
......
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