name: 天空聖者メルティウス
card_text: 1:このカードがモンスターゾーンに存在する限り、自分または相手がカウンター罠カードを発動する度に、自分は1000LP回復し、フィールドに「天空の聖域」が存在する場合、さらに相手フィールドのカード1枚を選んで破壊する。
external_ids: local CARD_ID_0 = 56433456 --天空の聖域
  
lua: local CARD_ID_0 = 56433456 --天空の聖域
  local s, id, o = GetID()
  function s.initial_effect(c)
  	aux.AddCodeList(c, CARD_ID_0)
  	--recover&destroy
  	local e1 = Effect.CreateEffect(c)
  	e1:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS)
  	e1:SetCode(EVENT_CHAIN_SOLVED)
  	e1:SetRange(LOCATION_MZONE)
  	e1:SetOperation(s.drop)
  	c:RegisterEffect(e1)
  end
  function s.drop(e, tp, eg, ep, ev, re, r, rp)
  	local c = e:GetHandler()
  	if not re:IsHasType(EFFECT_TYPE_ACTIVATE) or not re:IsActiveType(TYPE_COUNTER) or not c:IsLocation(LOCATION_MZONE) or c:IsFacedown() then
  		return
  	end
  	Duel.Recover(tp, 1000, REASON_EFFECT)
  	if not Duel.IsEnvironment(CARD_ID_0) then
  		return
  	end
  	Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_DESTROY)
  	local g = Duel.SelectMatchingCard(tp, aux.TRUE, tp, 0, LOCATION_ONFIELD, 1, 1, nil)
  	Duel.Destroy(g, REASON_EFFECT)
  end
  
  
source_text: 天空聖者メルティウス
  1:このカードがモンスターゾーンに存在する限り、自分または相手がカウンター罠カードを発動する度に、自分は1000LP回復し、フィールドに「天空の聖域」が存在する場合、さらに相手フィールドのカード1枚を選んで破壊する。
target_text: -- 天空聖者メルティウス
  local CARD_ID_0 = 56433456 --天空の聖域
  local s, id, o = GetID()
  function s.initial_effect(c)
  	aux.AddCodeList(c, CARD_ID_0)
  	--recover&destroy
  	local e1 = Effect.CreateEffect(c)
  	e1:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS)
  	e1:SetCode(EVENT_CHAIN_SOLVED)
  	e1:SetRange(LOCATION_MZONE)
  	e1:SetOperation(s.drop)
  	c:RegisterEffect(e1)
  end
  function s.drop(e, tp, eg, ep, ev, re, r, rp)
  	local c = e:GetHandler()
  	if not re:IsHasType(EFFECT_TYPE_ACTIVATE) or not re:IsActiveType(TYPE_COUNTER) or not c:IsLocation(LOCATION_MZONE) or c:IsFacedown() then
  		return
  	end
  	Duel.Recover(tp, 1000, REASON_EFFECT)
  	if not Duel.IsEnvironment(CARD_ID_0) then
  		return
  	end
  	Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_DESTROY)
  	local g = Duel.SelectMatchingCard(tp, aux.TRUE, tp, 0, LOCATION_ONFIELD, 1, 1, nil)
  	Duel.Destroy(g, REASON_EFFECT)
  end
  
  