Commit 5fabfe73 authored by POLYMER's avatar POLYMER

fix

parent fd733b60
...@@ -109,6 +109,7 @@ function s.tdtg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -109,6 +109,7 @@ function s.tdtg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectTarget(tp,s.tdfilter,tp,LOCATION_GRAVE,0,1,1,nil) local g=Duel.SelectTarget(tp,s.tdfilter,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
end end
function s.setfilter(c,e,tp) function s.setfilter(c,e,tp)
return c:IsType(TYPE_NORMAL) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsType(TYPE_NORMAL) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
......
--E・HEROソリッド --E・HEROソリッド
function c115072031.initial_effect(c) function c115072031.initial_effect(c)
--special summon --special summon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O) e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetRange(LOCATION_HAND) e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,115072031) e1:SetCountLimit(1,115072031)
e1:SetCost(c115072031.spcost) e1:SetCost(c115072031.spcost)
e1:SetTarget(c115072031.sptg) e1:SetTarget(c115072031.sptg)
e1:SetOperation(c115072031.spop) e1:SetOperation(c115072031.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--revive --revive
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON) e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET) e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetType(EFFECT_TYPE_QUICK_O) e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN) e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCountLimit(1,115072031) e2:SetCountLimit(1,115072031)
e2:SetRange(LOCATION_GRAVE) e2:SetRange(LOCATION_GRAVE)
e2:SetCost(c115072031.gvcost) e2:SetCost(c115072031.gvcost)
e2:SetTarget(c115072031.gvtg) e2:SetTarget(c115072031.gvtg)
e2:SetOperation(c115072031.gvop) e2:SetOperation(c115072031.gvop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
-- --
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD) e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_QP_ACT_IN_NTPHAND) e3:SetCode(EFFECT_QP_ACT_IN_NTPHAND)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(LOCATION_HAND,0) e3:SetTargetRange(LOCATION_HAND,0)
e3:SetTarget(c115072031.etarget) e3:SetTarget(c115072031.etarget)
c:RegisterEffect(e3) c:RegisterEffect(e3)
-- --
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE) e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_ADD_FUSION_SETCODE) e4:SetCode(EFFECT_ADD_FUSION_SETCODE)
e4:SetRange(LOCATION_MZONE) e4:SetRange(LOCATION_MZONE)
e4:SetValue(0xa008) e4:SetValue(0xa008)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function c115072031.spcost(e,tp,eg,ep,ev,re,r,rp,chk) function c115072031.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToGraveAsCost,tp,LOCATION_HAND,0,1,e:GetHandler()) end if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToGraveAsCost,tp,LOCATION_HAND,0,1,e:GetHandler()) end
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToGraveAsCost,tp,LOCATION_HAND,0,1,1,e:GetHandler()) local g=Duel.SelectMatchingCard(tp,Card.IsAbleToGraveAsCost,tp,LOCATION_HAND,0,1,1,e:GetHandler())
Duel.SendtoGrave(g,REASON_COST) Duel.SendtoGrave(g,REASON_COST)
end end
function c115072031.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c115072031.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>1 and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>1 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_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end end
function c115072031.spfilter(c,e,tp) function c115072031.spfilter(c,e,tp)
return c:IsSetCard(0x8) and c:IsType(TYPE_MONSTER) and not c:IsCode(115072031) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0x8) and c:IsType(TYPE_MONSTER) and not c:IsCode(115072031) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c115072031.spop(e,tp,eg,ep,ev,re,r,rp) function c115072031.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsRelateToEffect(e) and Duel.GetLocationCount(tp,LOCATION_MZONE)>1 then if c:IsRelateToEffect(e) and Duel.GetLocationCount(tp,LOCATION_MZONE)>1 then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
if Duel.IsExistingMatchingCard(c115072031.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp) if Duel.IsExistingMatchingCard(c115072031.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp)
and Duel.SelectYesNo(tp,aux.Stringid(115072031,1)) then and Duel.SelectYesNo(tp,aux.Stringid(115072031,1)) then
Duel.BreakEffect() Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c115072031.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,c115072031.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end end
end end
end end
function c115072031.gvfilter(c,e,tp) function c115072031.gvfilter(c,e,tp)
return c:IsSetCard(0x8) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0x8) and c:IsType(TYPE_MONSTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c115072031.gvcost(e,tp,eg,ep,ev,re,r,rp,chk) function c115072031.gvcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToRemoveAsCost() end if chk==0 then return e:GetHandler():IsAbleToRemoveAsCost() end
Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_COST) Duel.Remove(e:GetHandler(),POS_FACEUP,REASON_COST)
end end
function c115072031.gvtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c115072031.gvtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_GRAVE) and c115072031.gvfilter(chkc,e,tp) end if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_GRAVE) and c115072031.gvfilter(chkc,e,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingTarget(c115072031.gvfilter,tp,LOCATION_GRAVE,0,1,e:GetHandler(),e,tp) end and Duel.IsExistingTarget(c115072031.gvfilter,tp,LOCATION_GRAVE,0,1,e:GetHandler(),e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectTarget(tp,c115072031.gvfilter,tp,LOCATION_GRAVE,0,1,1,e:GetHandler(),e,tp) local g=Duel.SelectTarget(tp,c115072031.gvfilter,tp,LOCATION_GRAVE,0,1,1,e:GetHandler(),e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
end end
function c115072031.gvop(e,tp,eg,ep,ev,re,r,rp) function c115072031.gvop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then if tc:IsRelateToEffect(e) then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
end end
end end
function c115072031.etarget(e,c) function c115072031.etarget(e,c)
return c:IsSetCard(0xa5) and c:IsType(TYPE_QUICKPLAY) return c:IsSetCard(0xa5) and c:IsType(TYPE_QUICKPLAY)
end end
--オルターガイスト・クウェルハック --オルターガイスト・クウェルハック
function c127541563.initial_effect(c) function c127541563.initial_effect(c)
c:SetUniqueOnField(1,0,127541563) c:SetUniqueOnField(1,0,127541563)
--act in hand --act in hand
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_TRAP_ACT_IN_HAND) e1:SetCode(EFFECT_TRAP_ACT_IN_HAND)
e1:SetCondition(c127541563.actcon) e1:SetCondition(c127541563.actcon)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--activate --activate
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_ACTIVATE) e2:SetType(EFFECT_TYPE_ACTIVATE)
e2:SetCode(EVENT_FREE_CHAIN) e2:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--negate --negate
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_NEGATE+CATEGORY_POSITION) e3:SetCategory(CATEGORY_NEGATE+CATEGORY_POSITION)
e3:SetType(EFFECT_TYPE_QUICK_O) e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL) e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e3:SetCode(EVENT_CHAINING) e3:SetCode(EVENT_CHAINING)
e3:SetRange(LOCATION_SZONE) e3:SetRange(LOCATION_SZONE)
e3:SetCondition(c127541563.negcon) e3:SetCondition(c127541563.negcon)
e3:SetCost(c127541563.negcost) e3:SetCost(c127541563.negcost)
e3:SetTarget(c127541563.negtg) e3:SetTarget(c127541563.negtg)
e3:SetOperation(c127541563.negop) e3:SetOperation(c127541563.negop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--Destroy --Destroy
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e5:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e5:SetRange(LOCATION_SZONE) e5:SetRange(LOCATION_SZONE)
e5:SetCode(EVENT_LEAVE_FIELD) e5:SetCode(EVENT_LEAVE_FIELD)
e5:SetCondition(c127541563.descon) e5:SetCondition(c127541563.descon)
e5:SetOperation(c127541563.desop) e5:SetOperation(c127541563.desop)
c:RegisterEffect(e5) c:RegisterEffect(e5)
e3:SetLabelObject(e5) e3:SetLabelObject(e5)
--spsummon --spsummon
local e6=Effect.CreateEffect(c) local e6=Effect.CreateEffect(c)
e6:SetCategory(CATEGORY_DESTROY+CATEGORY_SPECIAL_SUMMON) e6:SetCategory(CATEGORY_DESTROY+CATEGORY_SPECIAL_SUMMON)
e6:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e6:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e6:SetCode(EVENT_LEAVE_FIELD) e6:SetCode(EVENT_LEAVE_FIELD)
e6:SetCondition(c127541563.spcon) e6:SetCondition(c127541563.spcon)
e6:SetTarget(c127541563.sptg) e6:SetTarget(c127541563.sptg)
e6:SetOperation(c127541563.spop) e6:SetOperation(c127541563.spop)
e6:SetLabelObject(e3) e6:SetLabelObject(e3)
c:RegisterEffect(e6) c:RegisterEffect(e6)
-- --
local e7=Effect.CreateEffect(c) local e7=Effect.CreateEffect(c)
e7:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e7:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e7:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_SINGLE) e7:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_SINGLE)
e7:SetCode(EVENT_LEAVE_FIELD) e7:SetCode(EVENT_LEAVE_FIELD)
e7:SetOperation(c127541563.lmop) e7:SetOperation(c127541563.lmop)
c:RegisterEffect(e7) c:RegisterEffect(e7)
end end
function c127541563.actfilter(c) function c127541563.actfilter(c)
return not (c:IsFaceup() and c:IsSetCard(0x103)) return not (c:IsFaceup() and c:IsSetCard(0x103))
end end
function c127541563.actcon(e,tp,eg,ep,ev,re,r,rp) function c127541563.actcon(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsExistingMatchingCard(c127541563.actfilter,e:GetHandlerPlayer(),LOCATION_MZONE,0,1,nil) return not Duel.IsExistingMatchingCard(c127541563.actfilter,e:GetHandlerPlayer(),LOCATION_MZONE,0,1,nil)
end end
function c127541563.negcon(e,tp,eg,ep,ev,re,r,rp) function c127541563.negcon(e,tp,eg,ep,ev,re,r,rp)
return (re:IsActiveType(TYPE_MONSTER) or (re:IsHasType(EFFECT_TYPE_ACTIVATE)) and not re:IsActiveType(TYPE_PENDULUM)) return (re:IsActiveType(TYPE_MONSTER) or (re:IsHasType(EFFECT_TYPE_ACTIVATE)) and not re:IsActiveType(TYPE_PENDULUM))
and Duel.IsChainNegatable(ev) and bit.band(Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION),LOCATION_ONFIELD)~=0 and ep~=tp and Duel.IsChainNegatable(ev) and bit.band(Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION),LOCATION_ONFIELD)~=0 and ep~=tp
end end
function c127541563.cfilter(c) function c127541563.cfilter(c)
return (c:IsFaceup() or c:IsLocation(LOCATION_HAND)) and c:IsSetCard(0x103) and c:IsAbleToGraveAsCost() return (c:IsFaceup() or c:IsLocation(LOCATION_HAND)) and c:IsSetCard(0x103) and c:IsAbleToGraveAsCost()
end end
function c127541563.negcost(e,tp,eg,ep,ev,re,r,rp,chk) function c127541563.negcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c127541563.cfilter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,e:GetHandler()) if chk==0 then return Duel.IsExistingMatchingCard(c127541563.cfilter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,e:GetHandler())
and e:GetHandler():GetFlagEffect(127541563)==0 end and e:GetHandler():GetFlagEffect(127541563)==0 end
e:GetHandler():RegisterFlagEffect(127541563,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1) e:GetHandler():RegisterFlagEffect(127541563,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,c127541563.cfilter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,1,e:GetHandler()) local g=Duel.SelectMatchingCard(tp,c127541563.cfilter,tp,LOCATION_HAND+LOCATION_ONFIELD,0,1,1,e:GetHandler())
Duel.SendtoGrave(g,REASON_COST) Duel.SendtoGrave(g,REASON_COST)
end end
function c127541563.negtg(e,tp,eg,ep,ev,re,r,rp,chk) function c127541563.negtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return re and re:GetHandler():IsCanTurnSet() end if chk==0 then return re and re:GetHandler():IsCanTurnSet() end
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0) Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_POSITION,eg,1,0,0) Duel.SetOperationInfo(0,CATEGORY_POSITION,eg,1,0,0)
end end
function c127541563.negop(e,tp,eg,ep,ev,re,r,rp) function c127541563.negop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end if not e:GetHandler():IsRelateToEffect(e) then return end
local c=e:GetHandler() local c=e:GetHandler()
if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then
local tc=eg:GetFirst() local tc=eg:GetFirst()
if tc:IsType(TYPE_MONSTER) then if tc:IsType(TYPE_MONSTER) then
Duel.ChangePosition(tc,POS_FACEDOWN_DEFENSE) Duel.ChangePosition(tc,POS_FACEDOWN_DEFENSE)
else else
tc:CancelToGrave() tc:CancelToGrave()
Duel.ChangePosition(tc,POS_FACEDOWN) Duel.ChangePosition(tc,POS_FACEDOWN)
Duel.RaiseEvent(tc,EVENT_SSET,e,REASON_EFFECT,tp,tp,0) Duel.RaiseEvent(tc,EVENT_SSET,e,REASON_EFFECT,tp,tp,0)
end end
c:SetCardTarget(tc) c:SetCardTarget(tc)
c:CreateRelation(tc,RESET_EVENT+0x1fe0000) c:CreateRelation(tc,RESET_EVENT+0x1fe0000)
e:GetLabelObject():SetLabelObject(tc) e:GetLabelObject():SetLabelObject(tc)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_OWNER_RELATE) e1:SetProperty(EFFECT_FLAG_OWNER_RELATE)
e1:SetCode(EFFECT_CANNOT_CHANGE_POSITION) e1:SetCode(EFFECT_CANNOT_CHANGE_POSITION)
e1:SetReset(RESET_EVENT+0x1fe0000) e1:SetReset(RESET_EVENT+0x1fe0000)
e1:SetCondition(c127541563.rcon) e1:SetCondition(c127541563.rcon)
tc:RegisterEffect(e1,true) tc:RegisterEffect(e1,true)
local e2=e1:Clone() local e2=e1:Clone()
e2:SetCode(EFFECT_CANNOT_TRIGGER) e2:SetCode(EFFECT_CANNOT_TRIGGER)
tc:RegisterEffect(e2,true) tc:RegisterEffect(e2,true)
end end
end end
function c127541563.rcon(e) function c127541563.rcon(e)
return not e:GetHandler():IsImmuneToEffect(e) and e:GetOwner():IsRelateToCard(e:GetHandler()) return not e:GetHandler():IsImmuneToEffect(e) and e:GetOwner():IsRelateToCard(e:GetHandler())
end end
function c127541563.descon(e,tp,eg,ep,ev,re,r,rp) function c127541563.descon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsStatus(STATUS_DESTROY_CONFIRMED) then return false end if c:IsStatus(STATUS_DESTROY_CONFIRMED) then return false end
local tc=e:GetLabelObject() local tc=e:GetLabelObject()
return tc and eg:IsContains(tc) and c:IsRelateToCard(tc) return tc and eg:IsContains(tc) and c:IsRelateToCard(tc)
end end
function c127541563.desop(e,tp,eg,ep,ev,re,r,rp) function c127541563.desop(e,tp,eg,ep,ev,re,r,rp)
Duel.Destroy(e:GetHandler(),REASON_EFFECT) Duel.Destroy(e:GetHandler(),REASON_EFFECT)
end end
function c127541563.spcon(e,tp,eg,ep,ev,re,r,rp) function c127541563.spcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
return c:IsPreviousPosition(POS_FACEUP) and not c:IsLocation(LOCATION_DECK) return c:IsPreviousPosition(POS_FACEUP) and not c:IsLocation(LOCATION_DECK)
end end
function c127541563.desfilter(c) function c127541563.desfilter(c)
return c:IsFacedown() and c:GetFlagEffect(127541563)>0 return c:IsFacedown() and c:GetFlagEffect(127541563)>0
end end
function c127541563.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c127541563.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
local g=Duel.GetMatchingGroup(c127541563.desfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil) local g=Duel.GetMatchingGroup(c127541563.desfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
end end
function c127541563.spfilter(c,e,tp) function c127541563.spfilter(c,e,tp)
return c:IsSetCard(0x103) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0x103) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c127541563.spop(e,tp,eg,ep,ev,re,r,rp) function c127541563.spop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c127541563.desfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil) local g=Duel.GetMatchingGroup(c127541563.desfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil)
if Duel.Destroy(g,REASON_EFFECT)==0 then return end if Duel.Destroy(g,REASON_EFFECT)==0 then return end
local tg=Duel.GetMatchingGroup(c127541563.spfilter,tp,LOCATION_DECK,0,nil,e,tp) local tg=Duel.GetMatchingGroup(c127541563.spfilter,tp,LOCATION_DECK,0,nil,e,tp)
if tg:GetCount()>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.SelectYesNo(tp,aux.Stringid(127541563,2)) then if tg:GetCount()>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.SelectYesNo(tp,aux.Stringid(127541563,2)) then
Duel.BreakEffect() Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=tg:Select(tp,1,1,nil) local sg=tg:Select(tp,1,1,nil)
Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP)
end end
end end
function c127541563.lmfilter(c,rc) function c127541563.lmfilter(c,rc)
return rc:IsHasCardTarget(c) and c:IsFacedown() return rc:IsHasCardTarget(c) and c:IsFacedown()
end end
function c127541563.lmop(e,tp,eg,ep,ev,re,r,rp) function c127541563.lmop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c127541563.lmfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil,e:GetHandler()) local g=Duel.GetMatchingGroup(c127541563.lmfilter,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,nil,e:GetHandler())
local tc=g:GetFirst() local tc=g:GetFirst()
while tc do while tc do
tc:RegisterFlagEffect(127541563,RESET_EVENT+0x1fe0000,0,1) tc:RegisterFlagEffect(127541563,RESET_EVENT+0x1fe0000,0,1)
tc=g:GetNext() tc=g:GetNext()
end end
end end
...@@ -39,6 +39,8 @@ function c9910921.damtg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -39,6 +39,8 @@ function c9910921.damtg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,300) Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,300)
if Duel.GetCurrentChain()>1 then if Duel.GetCurrentChain()>1 then
e:SetCategory(CATEGORY_DAMAGE+CATEGORY_TOGRAVE) e:SetCategory(CATEGORY_DAMAGE+CATEGORY_TOGRAVE)
else
e:SetCategory(CATEGORY_DAMAGE)
end end
end end
function c9910921.tgfilter(c) function c9910921.tgfilter(c)
......
...@@ -39,6 +39,8 @@ function c9910922.damtg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -39,6 +39,8 @@ function c9910922.damtg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,300) Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,300)
if Duel.GetCurrentChain()>1 then if Duel.GetCurrentChain()>1 then
e:SetCategory(CATEGORY_DAMAGE+CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_GRAVE_ACTION) e:SetCategory(CATEGORY_DAMAGE+CATEGORY_TOHAND+CATEGORY_SEARCH+CATEGORY_GRAVE_ACTION)
else
e:SetCategory(CATEGORY_DAMAGE)
end end
end end
function c9910922.thfilter(c,tp) function c9910922.thfilter(c,tp)
......
...@@ -42,6 +42,8 @@ function c9910928.damtg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -42,6 +42,8 @@ function c9910928.damtg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,300) Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,300)
if Duel.GetCurrentChain()>1 then if Duel.GetCurrentChain()>1 then
e:SetCategory(CATEGORY_DAMAGE+CATEGORY_SPECIAL_SUMMON+CATEGORY_DECKDES) e:SetCategory(CATEGORY_DAMAGE+CATEGORY_SPECIAL_SUMMON+CATEGORY_DECKDES)
else
e:SetCategory(CATEGORY_DAMAGE)
end end
end end
function c9910928.spfilter1(c,e,tp) function c9910928.spfilter1(c,e,tp)
......
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