Commit 4073c533 authored by mercury233's avatar mercury233

fix & update

parent c6aaafdd
--デンジャラス・デストーイ・ナイトメアリー --デンジャラス・デストーイ・ナイトメアリー
function c58468105.initial_effect(c) function c58468105.initial_effect(c)
aux.AddFusionProcFunFunRep(c,aux.FilterBoolFunction(Card.IsFusionSetCard,0xc3),aux.FilterBoolFunction(Card.IsFusionSetCard,0xa9),2,99,false) aux.AddFusionProcFunFunRep(c,aux.FilterBoolFunction(Card.IsFusionSetCard,0xc3),aux.FilterBoolFunction(Card.IsFusionSetCard,0xa9),2,99,true)
--atkup --atkup
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
......
...@@ -23,7 +23,7 @@ function c77522571.initial_effect(c) ...@@ -23,7 +23,7 @@ function c77522571.initial_effect(c)
e2:SetTarget(c77522571.sptg2) e2:SetTarget(c77522571.sptg2)
e2:SetOperation(c77522571.spop2) e2:SetOperation(c77522571.spop2)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--special summon --level fusion
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(77522571,2)) e3:SetDescription(aux.Stringid(77522571,2))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON) e3:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON)
...@@ -96,12 +96,6 @@ end ...@@ -96,12 +96,6 @@ end
function c77522571.costfilter(c) function c77522571.costfilter(c)
return c:IsLevelAbove(1) and c:IsRace(RACE_FIEND) return c:IsLevelAbove(1) and c:IsRace(RACE_FIEND)
end end
function c77522571.fselect(c,e,tp,rg,sg)
sg:AddCard(c)
local res=c77522571.fgoal(e,tp,sg) or rg:IsExists(c77522571.fselect,1,sg,e,tp,rg,sg)
sg:RemoveCard(c)
return res
end
function c77522571.lvcheck(g) function c77522571.lvcheck(g)
local lv=0 local lv=0
local tc=g:GetFirst() local tc=g:GetFirst()
...@@ -111,30 +105,22 @@ function c77522571.lvcheck(g) ...@@ -111,30 +105,22 @@ function c77522571.lvcheck(g)
end end
return lv return lv
end end
function c77522571.fgoal(e,tp,sg) function c77522571.fgoal(sg,e,tp)
if sg:GetCount()>1 and Duel.GetLocationCountFromEx(tp,tp,sg)>0 then if Duel.GetLocationCountFromEx(tp,tp,sg)>0 then
local lv=c77522571.lvcheck(sg) local lv=c77522571.lvcheck(sg)
Duel.SetSelectedCard(sg) Duel.SetSelectedCard(sg)
return Duel.CheckReleaseGroup(tp,nil,0,nil) and Duel.IsExistingMatchingCard(c77522571.spfilter3,tp,LOCATION_EXTRA,0,1,nil,e,tp,lv) return Duel.CheckReleaseGroup(tp,nil,0,nil)
and Duel.IsExistingMatchingCard(c77522571.spfilter3,tp,LOCATION_EXTRA,0,1,nil,e,tp,lv)
else return false end else return false end
end end
function c77522571.spfilter3(c,e,tp,lv) function c77522571.spfilter3(c,e,tp,lv)
return c:IsSetCard(0xad) and c:IsType(TYPE_FUSION) and c:IsLevel(lv) and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial() return c:IsSetCard(0xad) and c:IsType(TYPE_FUSION) and c:IsLevel(lv)
end and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_FUSION,tp,false,false) and c:CheckFusionMaterial()
function c77522571.relfilter(c,g)
return g:IsContains(c)
end end
function c77522571.spcost3(e,tp,eg,ep,ev,re,r,rp,chk) function c77522571.spcost3(e,tp,eg,ep,ev,re,r,rp,chk)
local rg=Duel.GetReleaseGroup(tp):Filter(c77522571.costfilter,nil) local rg=Duel.GetReleaseGroup(tp):Filter(c77522571.costfilter,nil)
local g=Group.CreateGroup() if chk==0 then return rg:CheckSubGroup(c77522571.fgoal,2,99,e,tp) end
if chk==0 then return rg:IsExists(c77522571.fselect,1,nil,e,tp,rg,g) end local g=rg:SelectSubGroup(tp,c77522571.fgoal,false,2,99,e,tp)
while true do
local mg=rg:Filter(c77522571.fselect,g,e,tp,rg,g)
if mg:GetCount()==0 or (c77522571.fgoal(e,tp,g) and not Duel.SelectYesNo(tp,210)) then break end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local sg=Duel.SelectReleaseGroup(tp,c77522571.relfilter,1,1,nil,mg)
g:Merge(sg)
end
local lv=c77522571.lvcheck(g) local lv=c77522571.lvcheck(g)
e:SetLabel(lv) e:SetLabel(lv)
Duel.Release(g,REASON_COST) Duel.Release(g,REASON_COST)
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
function c83866861.initial_effect(c) function c83866861.initial_effect(c)
--fusion material --fusion material
c:EnableReviveLimit() c:EnableReviveLimit()
aux.AddFusionProcFunRep(c,aux.FilterBoolFunction(Card.IsFusionSetCard,0xad),3,false) aux.AddFusionProcFunRep(c,aux.FilterBoolFunction(Card.IsFusionSetCard,0xad),3,true)
--spsummon condition --spsummon condition
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
......
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