ADDED expansions/script/c7563580.lua Index: expansions/script/c7563580.lua ================================================================== --- /dev/null +++ expansions/script/c7563580.lua @@ -0,0 +1,67 @@ +--Emヒグルミ +function c7563580.initial_effect(c) + --pendulum summon + aux.EnablePendulumAttribute(c) + --spsummon + local e2=Effect.CreateEffect(c) + e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DAMAGE) + e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) + e2:SetCode(EVENT_DESTROYED) + e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) + e2:SetRange(LOCATION_PZONE) + e2:SetCountLimit(1,7563580) + e2:SetCondition(c7563580.spcon1) + e2:SetTarget(c7563580.sptg1) + e2:SetOperation(c7563580.spop1) + c:RegisterEffect(e2) + --spsummon + local e3=Effect.CreateEffect(c) + e3:SetCategory(CATEGORY_SPECIAL_SUMMON) + e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) + e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) + e3:SetCode(EVENT_DESTROYED) + e3:SetCondition(c7563580.spcon2) + e3:SetTarget(c7563580.sptg2) + e3:SetOperation(c7563580.spop2) + c:RegisterEffect(e3) +end +function c7563580.cfilter(c,tp) + return c:IsReason(REASON_BATTLE+REASON_EFFECT) and c:IsSetCard(0xc6) + and c:IsPreviousLocation(LOCATION_MZONE) and c:IsPreviousPosition(POS_FACEUP) and c:IsPreviousControler(tp) +end +function c7563580.spcon1(e,tp,eg,ep,ev,re,r,rp) + return eg:IsExists(c7563580.cfilter,1,nil,tp) +end +function c7563580.sptg1(e,tp,eg,ep,ev,re,r,rp,chk) + if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 + and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end + Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) + Duel.SetOperationInfo(0,CATEGORY_DAMAGE,0,0,tp,500) +end +function c7563580.spop1(e,tp,eg,ep,ev,re,r,rp) + local c=e:GetHandler() + if not c:IsRelateToEffect(e) then return end + if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 then + Duel.BreakEffect() + Duel.Damage(tp,500,REASON_EFFECT) + end +end +function c7563580.spcon2(e,tp,eg,ep,ev,re,r,rp) + return bit.band(r,REASON_EFFECT+REASON_BATTLE)~=0 and e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD) +end +function c7563580.spfilter(c,e,tp) + return c:IsSetCard(0xc6) and not c:IsCode(7563580) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) +end +function c7563580.sptg2(e,tp,eg,ep,ev,re,r,rp,chk) + if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 + and Duel.IsExistingMatchingCard(c7563580.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 c7563580.spop2(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,c7563580.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 +end DELETED expansions/script/c896311393.lua Index: expansions/script/c896311393.lua ================================================================== --- expansions/script/c896311393.lua +++ /dev/null @@ -1,67 +0,0 @@ ---Emヒグルミ -function c896311393.initial_effect(c) - --pendulum summon - aux.EnablePendulumAttribute(c) - --spsummon - local e2=Effect.CreateEffect(c) - e2:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DAMAGE) - e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) - e2:SetCode(EVENT_DESTROYED) - e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) - e2:SetRange(LOCATION_PZONE) - e2:SetCountLimit(1,7563580) - e2:SetCondition(c896311393.spcon1) - e2:SetTarget(c896311393.sptg1) - e2:SetOperation(c896311393.spop1) - c:RegisterEffect(e2) - --spsummon - local e3=Effect.CreateEffect(c) - e3:SetCategory(CATEGORY_SPECIAL_SUMMON) - e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) - e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY) - e3:SetCode(EVENT_DESTROYED) - e3:SetCondition(c896311393.spcon2) - e3:SetTarget(c896311393.sptg2) - e3:SetOperation(c896311393.spop2) - c:RegisterEffect(e3) -end -function c896311393.cfilter(c,tp) - return c:IsReason(REASON_BATTLE+REASON_EFFECT) and c:IsSetCard(0xc6) - and c:IsPreviousLocation(LOCATION_MZONE) and c:IsPreviousPosition(POS_FACEUP) and c:IsPreviousControler(tp) -end -function c896311393.spcon1(e,tp,eg,ep,ev,re,r,rp) - return eg:IsExists(c896311393.cfilter,1,nil,tp) -end -function c896311393.sptg1(e,tp,eg,ep,ev,re,r,rp,chk) - if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 - and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end - Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0) - Duel.SetOperationInfo(0,CATEGORY_DAMAGE,0,0,tp,500) -end -function c896311393.spop1(e,tp,eg,ep,ev,re,r,rp) - local c=e:GetHandler() - if not c:IsRelateToEffect(e) then return end - if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)~=0 then - Duel.BreakEffect() - Duel.Damage(tp,500,REASON_EFFECT) - end -end -function c896311393.spcon2(e,tp,eg,ep,ev,re,r,rp) - return bit.band(r,REASON_EFFECT+REASON_BATTLE)~=0 and e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD) -end -function c896311393.spfilter(c,e,tp) - return c:IsSetCard(0xc6) and not c:IsCode(7563580) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) -end -function c896311393.sptg2(e,tp,eg,ep,ev,re,r,rp,chk) - if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 - and Duel.IsExistingMatchingCard(c896311393.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 c896311393.spop2(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,c896311393.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 -end Index: expansions/ygo_endgame.cdb ================================================================== --- expansions/ygo_endgame.cdb +++ expansions/ygo_endgame.cdb cannot compute difference between binary files Index: single/简化版_30_052_1.lua ================================================================== --- single/简化版_30_052_1.lua +++ single/简化版_30_052_1.lua @@ -29,22 +29,22 @@ Debug.AddCard(68819554, 0, 0, k1, 0, k2) Debug.AddCard(68819554, 0, 0, k1, 0, k2) Debug.AddCard(31292357, 0, 0, k1, 0, k2) Debug.AddCard(71578874, 0, 0, k1, 0, k2) Debug.AddCard(71578874, 0, 0, k1, 0, k2) -Debug.AddCard(896311393, 0, 0, k1, 0, k2) -Debug.AddCard(896311393, 0, 0, k1, 0, k2) +Debug.AddCard(7563580, 0, 0, k1, 0, k2) +Debug.AddCard(7563580, 0, 0, k1, 0, k2) Debug.AddCard(67696066, 0, 0, k1, 0, k2) Debug.AddCard(53724621, 0, 0, k1, 0, k2) Debug.AddCard(73130445, 0, 0, k1, 0, k2) Debug.AddCard(17330916, 0, 0, k1, 0, k2) Debug.AddCard(69211541, 0, 0, k1, 0, k2) Debug.AddCard(47075569, 0, 0, k1, 0, k2) Debug.AddCard(91584698, 0, 0, k1, 0, k2) Debug.AddCard(31222701, 0, 0, k1, 0, k2) Debug.AddCard(99590524, 0, 0, k1, 0, k2) -Debug.AddCard(896311393, 0, 0, k1, 0, k2) +Debug.AddCard(7563580, 0, 0, k1, 0, k2) local k1, k2 = LOCATION_EXTRA, POS_FACEDOWN--外组 Debug.AddCard(22638495, 0, 0, k1, 0, k2) Debug.AddCard(80532587, 0, 0, k1, 0, k2) Debug.AddCard(17412721, 0, 0, k1, 0, k2) Debug.AddCard(17412721, 0, 0, k1, 0, k2)