--避难之城 ~小心往目标行进~ function c33700904.initial_effect(c) --Activate local e1=Effect.CreateEffect(c) e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetCode(EVENT_FREE_CHAIN) e1:SetProperty(EFFECT_FLAG_CARD_TARGET) c:RegisterEffect(e1) --eee local e2=Effect.CreateEffect(c) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e2:SetRange(LOCATION_SZONE) e2:SetCode(EVENT_DESTROYED) e2:SetOperation(c33700904.operation) c:RegisterEffect(e2) end function c33700904.operation(e,tp,eg,ep,ev,re,r,rp) local c=e:GetHandler() for tc in aux.Next(eg) do local c=e:GetHandler() local e1=Effect.CreateEffect(c) e1:SetType(EFFECT_TYPE_FIELD) e1:SetCode(EFFECT_DISABLE) e1:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE) e1:SetTarget(c33700904.distg) e1:SetLabel(tc:GetOriginalCode()) e1:SetReset(RESET_PHASE+PHASE_END) Duel.RegisterEffect(e1,tp) local e2=Effect.CreateEffect(c) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e2:SetCode(EVENT_CHAIN_SOLVING) e2:SetCondition(c33700904.discon) e2:SetOperation(c33700904.disop) e2:SetLabel(tc:GetOriginalCode()) e2:SetReset(RESET_PHASE+PHASE_END) Duel.RegisterEffect(e2,tp) end end function c33700904.distg(e,c) local code=e:GetLabel() local code1,code2=c:GetOriginalCodeRule() return code1==code or code2==code end function c33700904.discon(e,tp,eg,ep,ev,re,r,rp) local code=e:GetLabel() local code1,code2=re:GetHandler():GetOriginalCodeRule() return code1==code or code2==code end function c33700904.disop(e,tp,eg,ep,ev,re,r,rp) Duel.NegateEffect(ev) end