name: ジェルエンデュオ
card_text: 1:天使族・光属性モンスターをアドバンス召喚する場合、このカードは2体分のリリースにできる。
  2:このカードは戦闘では破壊されない。
  3:自分が戦闘・効果でダメージを受けた場合に発動する。
  フィールドの表側表示のこのカードを破壊する。
lua: local s, id, o = GetID()
  function s.initial_effect(c)
  	--battle indestructable
  	local e1 = Effect.CreateEffect(c)
  	e1:SetType(EFFECT_TYPE_SINGLE)
  	e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
  	e1:SetValue(1)
  	c:RegisterEffect(e1)
  	--double tribute
  	local e2 = Effect.CreateEffect(c)
  	e2:SetType(EFFECT_TYPE_SINGLE)
  	e2:SetCode(EFFECT_DOUBLE_TRIBUTE)
  	e2:SetValue(s.dtcon)
  	c:RegisterEffect(e2)
  	--selfdes
  	local e3 = Effect.CreateEffect(c)
  	e3:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS)
  	e3:SetRange(LOCATION_MZONE)
  	e3:SetCode(EVENT_DAMAGE)
  	e3:SetOperation(s.dmop)
  	c:RegisterEffect(e3)
  	local e4 = Effect.CreateEffect(c)
  	e4:SetDescription(aux.Stringid(id, 0))
  	e4:SetCategory(CATEGORY_DESTROY)
  	e4:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_TRIGGER_F)
  	e4:SetCode(EVENT_BATTLED)
  	e4:SetRange(LOCATION_MZONE)
  	e4:SetCondition(s.descon)
  	e4:SetTarget(s.destg)
  	e4:SetOperation(s.desop)
  	c:RegisterEffect(e4)
  	local e5 = Effect.CreateEffect(c)
  	e5:SetDescription(aux.Stringid(id, 0))
  	e5:SetCategory(CATEGORY_DESTROY)
  	e5:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_TRIGGER_F)
  	e5:SetCode(EVENT_BATTLED)
  	e5:SetRange(LOCATION_MZONE)
  	e5:SetCondition(s.descon2)
  	e5:SetTarget(s.destg)
  	e5:SetOperation(s.desop)
  	c:RegisterEffect(e5)
  	local e6 = Effect.CreateEffect(c)
  	e6:SetDescription(aux.Stringid(id, 0))
  	e6:SetCategory(CATEGORY_DESTROY)
  	e6:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_TRIGGER_F)
  	e6:SetRange(LOCATION_MZONE)
  	e6:SetCode(EVENT_DAMAGE)
  	e6:SetCondition(s.descon3)
  	e6:SetTarget(s.destg)
  	e6:SetOperation(s.desop)
  	c:RegisterEffect(e6)
  end
  function s.dtcon(e, c)
  	return c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsRace(RACE_FAIRY)
  end
  function s.dmop(e, tp, eg, ep, ev, re, r, rp)
  	local c = e:GetHandler()
  	if c:IsControler(1 - ep) then
  		return
  	end
  	if bit.band(r, REASON_BATTLE) ~= 0 then
  		c:RegisterFlagEffect(id, RESET_PHASE + PHASE_DAMAGE, 0, 1)
  	elseif Duel.GetCurrentPhase() == PHASE_DAMAGE and not Duel.IsDamageCalculated() then
  		c:RegisterFlagEffect(11662743, RESET_PHASE + PHASE_DAMAGE, 0, 1)
  	end
  end
  function s.descon(e, tp, eg, ep, ev, re, r, rp)
  	return e:GetHandler():GetFlagEffect(id) > 0
  end
  function s.descon2(e, tp, eg, ep, ev, re, r, rp)
  	return e:GetHandler():GetFlagEffect(11662743) > 0
  end
  function s.descon3(e, tp, eg, ep, ev, re, r, rp)
  	return bit.band(r, REASON_EFFECT) ~= 0 and e:GetHandler():GetControler() == ep and (Duel.GetCurrentPhase() ~= PHASE_DAMAGE or Duel.IsDamageCalculated())
  end
  function s.destg(e, tp, eg, ep, ev, re, r, rp, chk)
  	if chk == 0 then
  		return true
  	end
  	Duel.SetOperationInfo(0, CATEGORY_DESTROY, e:GetHandler(), 1, 0, 0)
  end
  function s.desop(e, tp, eg, ep, ev, re, r, rp)
  	if e:GetHandler():IsRelateToEffect(e) then
  		Duel.Destroy(e:GetHandler(), REASON_EFFECT)
  	end
  end
  
  
source_text: ジェルエンデュオ
  1:天使族・光属性モンスターをアドバンス召喚する場合、このカードは2体分のリリースにできる。
  2:このカードは戦闘では破壊されない。
  3:自分が戦闘・効果でダメージを受けた場合に発動する。
  フィールドの表側表示のこのカードを破壊する。
target_text: -- ジェルエンデュオ
  local s, id, o = GetID()
  function s.initial_effect(c)
  	--battle indestructable
  	local e1 = Effect.CreateEffect(c)
  	e1:SetType(EFFECT_TYPE_SINGLE)
  	e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
  	e1:SetValue(1)
  	c:RegisterEffect(e1)
  	--double tribute
  	local e2 = Effect.CreateEffect(c)
  	e2:SetType(EFFECT_TYPE_SINGLE)
  	e2:SetCode(EFFECT_DOUBLE_TRIBUTE)
  	e2:SetValue(s.dtcon)
  	c:RegisterEffect(e2)
  	--selfdes
  	local e3 = Effect.CreateEffect(c)
  	e3:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS)
  	e3:SetRange(LOCATION_MZONE)
  	e3:SetCode(EVENT_DAMAGE)
  	e3:SetOperation(s.dmop)
  	c:RegisterEffect(e3)
  	local e4 = Effect.CreateEffect(c)
  	e4:SetDescription(aux.Stringid(id, 0))
  	e4:SetCategory(CATEGORY_DESTROY)
  	e4:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_TRIGGER_F)
  	e4:SetCode(EVENT_BATTLED)
  	e4:SetRange(LOCATION_MZONE)
  	e4:SetCondition(s.descon)
  	e4:SetTarget(s.destg)
  	e4:SetOperation(s.desop)
  	c:RegisterEffect(e4)
  	local e5 = Effect.CreateEffect(c)
  	e5:SetDescription(aux.Stringid(id, 0))
  	e5:SetCategory(CATEGORY_DESTROY)
  	e5:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_TRIGGER_F)
  	e5:SetCode(EVENT_BATTLED)
  	e5:SetRange(LOCATION_MZONE)
  	e5:SetCondition(s.descon2)
  	e5:SetTarget(s.destg)
  	e5:SetOperation(s.desop)
  	c:RegisterEffect(e5)
  	local e6 = Effect.CreateEffect(c)
  	e6:SetDescription(aux.Stringid(id, 0))
  	e6:SetCategory(CATEGORY_DESTROY)
  	e6:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_TRIGGER_F)
  	e6:SetRange(LOCATION_MZONE)
  	e6:SetCode(EVENT_DAMAGE)
  	e6:SetCondition(s.descon3)
  	e6:SetTarget(s.destg)
  	e6:SetOperation(s.desop)
  	c:RegisterEffect(e6)
  end
  function s.dtcon(e, c)
  	return c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsRace(RACE_FAIRY)
  end
  function s.dmop(e, tp, eg, ep, ev, re, r, rp)
  	local c = e:GetHandler()
  	if c:IsControler(1 - ep) then
  		return
  	end
  	if bit.band(r, REASON_BATTLE) ~= 0 then
  		c:RegisterFlagEffect(id, RESET_PHASE + PHASE_DAMAGE, 0, 1)
  	elseif Duel.GetCurrentPhase() == PHASE_DAMAGE and not Duel.IsDamageCalculated() then
  		c:RegisterFlagEffect(11662743, RESET_PHASE + PHASE_DAMAGE, 0, 1)
  	end
  end
  function s.descon(e, tp, eg, ep, ev, re, r, rp)
  	return e:GetHandler():GetFlagEffect(id) > 0
  end
  function s.descon2(e, tp, eg, ep, ev, re, r, rp)
  	return e:GetHandler():GetFlagEffect(11662743) > 0
  end
  function s.descon3(e, tp, eg, ep, ev, re, r, rp)
  	return bit.band(r, REASON_EFFECT) ~= 0 and e:GetHandler():GetControler() == ep and (Duel.GetCurrentPhase() ~= PHASE_DAMAGE or Duel.IsDamageCalculated())
  end
  function s.destg(e, tp, eg, ep, ev, re, r, rp, chk)
  	if chk == 0 then
  		return true
  	end
  	Duel.SetOperationInfo(0, CATEGORY_DESTROY, e:GetHandler(), 1, 0, 0)
  end
  function s.desop(e, tp, eg, ep, ev, re, r, rp)
  	if e:GetHandler():IsRelateToEffect(e) then
  		Duel.Destroy(e:GetHandler(), REASON_EFFECT)
  	end
  end
  
  