--GG O2 local m=33700306 local cm=_G["c"..m] function cm.initial_effect(c) --battle indestructable local e1=Effect.CreateEffect(c) e1:SetType(EFFECT_TYPE_FIELD) e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE) e1:SetRange(LOCATION_ONFIELD) e1:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE) e1:SetTarget(cm.indtg) e1:SetCondition(cm.con) e1:SetValue(1) c:RegisterEffect(e1) --double damage local e2=Effect.CreateEffect(c) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e2:SetCode(EVENT_PRE_BATTLE_DAMAGE) e2:SetRange(LOCATION_MZONE) e2:SetCondition(cm.damcon) e2:SetOperation(cm.damop) c:RegisterEffect(e2) --Destroy local e3=Effect.CreateEffect(c) e3:SetDescription(aux.Stringid(m,0)) e3:SetCategory(CATEGORY_DESTROY) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e3:SetCode(EVENT_DAMAGE_STEP_END) e3:SetTarget(cm.target) e3:SetOperation(cm.operation) c:RegisterEffect(e3) --send replace local e4=Effect.CreateEffect(c) e4:SetType(EFFECT_TYPE_SINGLE) e4:SetCode(EFFECT_TO_GRAVE_REDIRECT_CB) e4:SetProperty(EFFECT_FLAG_UNCOPYABLE) e4:SetCondition(cm.repcon) e4:SetOperation(cm.repop) c:RegisterEffect(e4) end function cm.con(e) return e:GetHandler():IsLocation(LOCATION_MZONE) or e:GetHandler():IsType(TYPE_CONTINUOUS) end function cm.damcon(e,tp,eg,ep,ev,re,r,rp) local tc=eg:GetFirst() return ep==1-tp and (tc:IsSetCard(0x1449) or tc:IsSetCard(0x3449)) end function cm.damop(e,tp,eg,ep,ev,re,r,rp) Duel.ChangeBattleDamage(ep,ev*2) end function cm.indtg(e,c) return (c:IsSetCard(0x1449) or c:IsSetCard(0x3449)) end function cm.aclimit(e,re,tp) return not re:IsImmuneToEffect(e) end function cm.repcon(e) local c=e:GetHandler() return c:IsFaceup() and c:IsLocation(LOCATION_MZONE) and c:IsReason(REASON_DESTROY) end function cm.repop(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler() local e1=Effect.CreateEffect(c) e1:SetCode(EFFECT_CHANGE_TYPE) e1:SetType(EFFECT_TYPE_SINGLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e1:SetReset(RESET_EVENT+0x1fc0000) e1:SetValue(TYPE_SPELL+TYPE_CONTINUOUS) c:RegisterEffect(e1) end function cm.target(e,tp,eg,ep,ev,re,r,rp,chk) if chk==0 then return e:GetHandler():IsLocation(LOCATION_MZONE) end Duel.SetOperationInfo(0,CATEGORY_DESTROY,e:GetHandler(),1,tp,LOCATION_MZONE) end function cm.operation(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler() if c:IsRelateToEffect(e) then Duel.Destroy(c,REASON_EFFECT) end end