diff --git a/unofficial/c511027039.lua b/unofficial/c511027039.lua new file mode 100644 index 0000000000..6411c4b4cc --- /dev/null +++ b/unofficial/c511027039.lua @@ -0,0 +1,30 @@ +--ディメンション・ガーディアン (Anime) +--Dimension Guardian (Anime) +local s,id=GetID() +function s.initial_effect(c) + aux.AddPersistentProcedure(c,0,aux.FilterBoolFunction(Card.IsPosition,POS_FACEUP_ATTACK)) + --The targeted monster cannot be destroyed by battle + local e1=Effect.CreateEffect(c) + e1:SetType(EFFECT_TYPE_FIELD) + e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE) + e1:SetRange(LOCATION_SZONE) + e1:SetValue(1) + e1:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE) + e1:SetTarget(aux.PersistentTargetFilter) + c:RegisterEffect(e1) + --If the targeted monster leaves the field, destroy this card + local e2=Effect.CreateEffect(c) + e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) + e2:SetRange(LOCATION_SZONE) + e2:SetCode(EVENT_LEAVE_FIELD) + e2:SetCondition(s.descon) + e2:SetOperation(s.desop) + c:RegisterEffect(e2) +end +function s.descon(e,tp,eg,ep,ev,re,r,rp) + local tc=e:GetHandler():GetFirstCardTarget() + return tc and eg:IsContains(tc) +end +function s.desop(e,tp,eg,ep,ev,re,r,rp) + Duel.Destroy(e:GetHandler(),REASON_EFFECT) +end