Commit 8c64b588 authored by argon.sun's avatar argon.sun

bug fix

parent 69765dd7
......@@ -49,6 +49,7 @@ function c3606728.efcon(e,tp,eg,ep,ev,re,r,rp)
end
function c3606728.efop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local rc=c:GetReasonCard()
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(3606728,1))
e1:SetCategory(CATEGORY_ATKCHANGE)
......@@ -59,7 +60,15 @@ function c3606728.efop(e,tp,eg,ep,ev,re,r,rp)
e1:SetTarget(c3606728.atktg)
e1:SetOperation(c3606728.atkop)
e1:SetReset(RESET_EVENT+0x1fe0000)
c:GetReasonCard():RegisterEffect(e1)
rc:RegisterEffect(e1)
if not rc:IsType(TYPE_EFFECT) then
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CHANGE_TYPE)
e2:SetValue(TYPE_MONSTER+TYPE_EFFECT+TYPE_XYZ)
e2:SetReset(RESET_EVENT+0x1fe0000)
rc:RegisterEffect(e2)
end
end
function c3606728.atkcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetSummonType()==SUMMON_TYPE_XYZ
......
......@@ -14,7 +14,6 @@ function c72926163.initial_effect(c)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetLabelObject(e1)
e3:SetOperation(c72926163.sucop)
c:RegisterEffect(e3)
--multiatk
......@@ -36,12 +35,15 @@ function c72926163.splimit(e,se,sp,st)
end
function c72926163.sucop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=e:GetLabelObject():GetLabelObject()
if tc:IsCode(89943723) then return end
local g=c:GetMaterial()
local tc=g:GetFirst()
if tc:IsCode(89943723) or tc:IsHasEffect(EFFECT_FUSION_SUBSTITUTE) then tc=g:GetNext() end
if not tc:IsCode(89943723) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(tc:GetAttack()/2)
e1:SetReset(RESET_EVENT+0x1ff0000)
c:RegisterEffect(e1)
end
end
......@@ -36,11 +36,11 @@ function c87624166.desfilter(c)
return c:GetAttackedCount()>0
end
function c87624166.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c87624166.desfilter,tp,LOCATION_MZONE,0,1,nil) end
local g=Duel.GetMatchingGroup(c87624166.desfilter,Duel.GetTurnPlayer(),LOCATION_MZONE,0,nil)
if chk==0 then return Duel.IsExistingMatchingCard(c87624166.desfilter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
local g=Duel.GetMatchingGroup(c87624166.desfilter,Duel.GetTurnPlayer(),LOCATION_MZONE,LOCATION_MZONE,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0)
end
function c87624166.desop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c87624166.desfilter,Duel.GetTurnPlayer(),LOCATION_MZONE,0,nil)
local g=Duel.GetMatchingGroup(c87624166.desfilter,Duel.GetTurnPlayer(),LOCATION_MZONE,LOCATION_MZONE,nil)
Duel.Destroy(g,REASON_EFFECT)
end
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