--剣闘獣ヘラクレイノス function c40933365.initial_effect(c) --fusion material c:EnableReviveLimit() aux.AddFusionProcCodeFun(c,40933355,aux.FilterBoolFunction(Card.IsFusionSetCard,0x19),2,true,true) --spsummon condition local e1=Effect.CreateEffect(c) e1:SetType(EFFECT_TYPE_SINGLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e1:SetCode(EFFECT_SPSUMMON_CONDITION) e1:SetValue(c40933365.splimit) c:RegisterEffect(e1) --special summon rule local e2=Effect.CreateEffect(c) e2:SetType(EFFECT_TYPE_FIELD) e2:SetCode(EFFECT_SPSUMMON_PROC) e2:SetProperty(EFFECT_FLAG_UNCOPYABLE) e2:SetRange(LOCATION_EXTRA) e2:SetCondition(c40933365.sprcon) e2:SetOperation(c40933365.sprop) c:RegisterEffect(e2) --attribute local e3=Effect.CreateEffect(c) e3:SetType(EFFECT_TYPE_SINGLE) e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e3:SetRange(LOCATION_MZONE) e3:SetCode(EFFECT_ADD_ATTRIBUTE) e3:SetValue(ATTRIBUTE_DARK) c:RegisterEffect(e3) --extra attack local e4=Effect.CreateEffect(c) e4:SetType(EFFECT_TYPE_SINGLE) e4:SetCode(EFFECT_EXTRA_ATTACK) e4:SetValue(1) c:RegisterEffect(e4) --disable local e5=Effect.CreateEffect(c) e5:SetCode(EFFECT_DISABLE) e5:SetType(EFFECT_TYPE_FIELD) e5:SetRange(LOCATION_MZONE) e5:SetTarget(c40933365.distg) e5:SetTargetRange(0,LOCATION_MZONE) c:RegisterEffect(e5) --special summon local e6=Effect.CreateEffect(c) e6:SetDescription(aux.Stringid(40933365,0)) e6:SetCategory(CATEGORY_SPECIAL_SUMMON) e6:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e6:SetCode(EVENT_PHASE+PHASE_BATTLE) e6:SetRange(LOCATION_MZONE) e6:SetCondition(c40933365.spcon) e6:SetCost(c40933365.spcost) e6:SetTarget(c40933365.sptg) e6:SetOperation(c40933365.spop) c:RegisterEffect(e6) end function c40933365.splimit(e,se,sp,st) return e:GetHandler():GetLocation()~=LOCATION_EXTRA end function c40933365.spfilter1(c,tp) return c:IsFusionCode(40933355) and c:IsAbleToDeckOrExtraAsCost() and c:IsCanBeFusionMaterial(nil,true) and Duel.IsExistingMatchingCard(c40933365.spfilter2,tp,LOCATION_MZONE,0,2,c) end function c40933365.spfilter2(c) return c:IsFusionSetCard(0x19) and c:IsCanBeFusionMaterial() and c:IsAbleToDeckOrExtraAsCost() end function c40933365.sprcon(e,c) if c==nil then return true end local tp=c:GetControler() return Duel.GetLocationCount(tp,LOCATION_MZONE)>-3 and Duel.IsExistingMatchingCard(c40933365.spfilter1,tp,LOCATION_ONFIELD,0,1,nil,tp) end function c40933365.sprop(e,tp,eg,ep,ev,re,r,rp,c) Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(40933365,1)) local g1=Duel.SelectMatchingCard(tp,c40933365.spfilter1,tp,LOCATION_ONFIELD,0,1,1,nil,tp) Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(40933365,2)) local g2=Duel.SelectMatchingCard(tp,c40933365.spfilter2,tp,LOCATION_MZONE,0,2,2,g1:GetFirst()) g1:Merge(g2) local tc=g1:GetFirst() while tc do if not tc:IsFaceup() then Duel.ConfirmCards(1-tp,tc) end tc=g1:GetNext() end Duel.SendtoDeck(g1,nil,2,REASON_COST) end function c40933365.distg(e,c) return c:IsFaceup() and (c:IsAttribute(ATTRIBUTE_LIGHT) or c:IsAttribute(ATTRIBUTE_DARK)) end function c40933365.spcon(e,tp,eg,ep,ev,re,r,rp) return e:GetHandler():GetBattledGroupCount()>0 end function c40933365.spcost(e,tp,eg,ep,ev,re,r,rp,chk) local c=e:GetHandler() if chk==0 then return c:IsAbleToExtraAsCost() end Duel.SendtoDeck(c,nil,0,REASON_COST) end function c40933365.filter(c,e,tp) return not c:IsCode(40933355) and c:IsSetCard(0x19) and c:IsCanBeSpecialSummoned(e,120,tp,false,false) end function c40933365.sptg(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return not Duel.IsPlayerAffectedByEffect(tp,59822133) and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.IsExistingMatchingCard(c40933365.filter,tp,LOCATION_DECK,0,2,nil,e,tp) end Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,2,tp,LOCATION_DECK) end function c40933365.spop(e,tp,eg,ep,ev,re,r,rp) if Duel.IsPlayerAffectedByEffect(tp,59822133) then return end if Duel.GetLocationCount(tp,LOCATION_MZONE)<2 then return end local g=Duel.GetMatchingGroup(c40933365.filter,tp,LOCATION_DECK,0,nil,e,tp) if g:GetCount()>=2 then Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) local sg=g:Select(tp,2,2,nil) local tc=sg:GetFirst() Duel.SpecialSummonStep(tc,120,tp,tp,false,false,POS_FACEUP) tc:RegisterFlagEffect(tc:GetOriginalCode(),RESET_EVENT+0x1ff0000,0,0) tc=sg:GetNext() Duel.SpecialSummonStep(tc,120,tp,tp,false,false,POS_FACEUP) tc:RegisterFlagEffect(tc:GetOriginalCode(),RESET_EVENT+0x1ff0000,0,0) Duel.SpecialSummonComplete() end end