name: アモルファージ・イリテュム
card_text: 【Pスケール:青5/赤5】
  このカードのコントローラーは、自分スタンバイフェイズ毎に自分フィールドのモンスター1体をリリースする。
  またはリリースせずにこのカードを破壊する。
  1:自分フィールドに「アモルファージ」モンスターが存在する限り、「アモルファージ」カード以外のお互いの墓地へ送られるカードは墓地へは行かず除外される。
  【モンスター効果】
  1:このカードがモンスターゾーンに存在する限り、お互いに「アモルファージ」モンスターしかエクストラデッキから特殊召喚できない。
external_ids: local SETCARD_ID_0 = 0xe0 --アモルファージ
  
lua: local SETCARD_ID_0 = 0xe0 --アモルファージ
  local s, id, o = GetID()
  function s.initial_effect(c)
  	--pendulum summon
  	aux.EnablePendulumAttribute(c)
  	--maintain
  	local e1 = Effect.CreateEffect(c)
  	e1:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS)
  	e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE + EFFECT_FLAG_UNCOPYABLE)
  	e1:SetRange(LOCATION_PZONE)
  	e1:SetCode(EVENT_PHASE + PHASE_STANDBY)
  	e1:SetCountLimit(1)
  	e1:SetCondition(s.descon)
  	e1:SetOperation(s.desop)
  	c:RegisterEffect(e1)
  	--spsummon limit
  	local e2 = Effect.CreateEffect(c)
  	e2:SetType(EFFECT_TYPE_FIELD)
  	e2:SetRange(LOCATION_MZONE)
  	e2:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
  	e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
  	e2:SetTargetRange(1, 1)
  	e2:SetTarget(s.sumlimit)
  	c:RegisterEffect(e2)
  	--remove
  	local e3 = Effect.CreateEffect(c)
  	e3:SetType(EFFECT_TYPE_FIELD)
  	e3:SetProperty(EFFECT_FLAG_SET_AVAILABLE + EFFECT_FLAG_IGNORE_RANGE + EFFECT_FLAG_IGNORE_IMMUNE)
  	e3:SetCode(EFFECT_TO_GRAVE_REDIRECT)
  	e3:SetRange(LOCATION_PZONE)
  	e3:SetCondition(s.rmcon)
  	e3:SetTarget(s.rmtarget)
  	e3:SetTargetRange(LOCATION_DECK, LOCATION_DECK)
  	e3:SetValue(LOCATION_REMOVED)
  	c:RegisterEffect(e3)
  end
  function s.descon(e, tp, eg, ep, ev, re, r, rp)
  	return Duel.GetTurnPlayer() == tp
  end
  function s.desop(e, tp, eg, ep, ev, re, r, rp)
  	local c = e:GetHandler()
  	Duel.HintSelection(Group.FromCards(c))
  	if Duel.CheckReleaseGroupEx(tp, nil, 1, REASON_MAINTENANCE, false, c) and Duel.SelectYesNo(tp, aux.Stringid(id, 0)) then
  		local g = Duel.SelectReleaseGroupEx(tp, nil, 1, 1, REASON_MAINTENANCE, false, c)
  		Duel.Release(g, REASON_MAINTENANCE)
  	else
  		Duel.Destroy(c, REASON_COST)
  	end
  end
  function s.sumlimit(e, c, sump, sumtype, sumpos, targetp, se)
  	return c:IsLocation(LOCATION_EXTRA) and not c:IsSetCard(SETCARD_ID_0)
  end
  function s.cfilter(c)
  	return c:IsFaceup() and c:IsSetCard(SETCARD_ID_0)
  end
  function s.rmcon(e)
  	return Duel.IsExistingMatchingCard(s.cfilter, e:GetHandlerPlayer(), LOCATION_MZONE, 0, 1, nil)
  end
  function s.rmtarget(e, c)
  	return not c:IsSetCard(SETCARD_ID_0)
  end
  
  
source_text: アモルファージ・イリテュム
  【Pスケール:青5/赤5】
  このカードのコントローラーは、自分スタンバイフェイズ毎に自分フィールドのモンスター1体をリリースする。
  またはリリースせずにこのカードを破壊する。
  1:自分フィールドに「アモルファージ」モンスターが存在する限り、「アモルファージ」カード以外のお互いの墓地へ送られるカードは墓地へは行かず除外される。
  【モンスター効果】
  1:このカードがモンスターゾーンに存在する限り、お互いに「アモルファージ」モンスターしかエクストラデッキから特殊召喚できない。
target_text: -- アモルファージ・イリテュム
  local SETCARD_ID_0 = 0xe0 --アモルファージ
  local s, id, o = GetID()
  function s.initial_effect(c)
  	--pendulum summon
  	aux.EnablePendulumAttribute(c)
  	--maintain
  	local e1 = Effect.CreateEffect(c)
  	e1:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS)
  	e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE + EFFECT_FLAG_UNCOPYABLE)
  	e1:SetRange(LOCATION_PZONE)
  	e1:SetCode(EVENT_PHASE + PHASE_STANDBY)
  	e1:SetCountLimit(1)
  	e1:SetCondition(s.descon)
  	e1:SetOperation(s.desop)
  	c:RegisterEffect(e1)
  	--spsummon limit
  	local e2 = Effect.CreateEffect(c)
  	e2:SetType(EFFECT_TYPE_FIELD)
  	e2:SetRange(LOCATION_MZONE)
  	e2:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
  	e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
  	e2:SetTargetRange(1, 1)
  	e2:SetTarget(s.sumlimit)
  	c:RegisterEffect(e2)
  	--remove
  	local e3 = Effect.CreateEffect(c)
  	e3:SetType(EFFECT_TYPE_FIELD)
  	e3:SetProperty(EFFECT_FLAG_SET_AVAILABLE + EFFECT_FLAG_IGNORE_RANGE + EFFECT_FLAG_IGNORE_IMMUNE)
  	e3:SetCode(EFFECT_TO_GRAVE_REDIRECT)
  	e3:SetRange(LOCATION_PZONE)
  	e3:SetCondition(s.rmcon)
  	e3:SetTarget(s.rmtarget)
  	e3:SetTargetRange(LOCATION_DECK, LOCATION_DECK)
  	e3:SetValue(LOCATION_REMOVED)
  	c:RegisterEffect(e3)
  end
  function s.descon(e, tp, eg, ep, ev, re, r, rp)
  	return Duel.GetTurnPlayer() == tp
  end
  function s.desop(e, tp, eg, ep, ev, re, r, rp)
  	local c = e:GetHandler()
  	Duel.HintSelection(Group.FromCards(c))
  	if Duel.CheckReleaseGroupEx(tp, nil, 1, REASON_MAINTENANCE, false, c) and Duel.SelectYesNo(tp, aux.Stringid(id, 0)) then
  		local g = Duel.SelectReleaseGroupEx(tp, nil, 1, 1, REASON_MAINTENANCE, false, c)
  		Duel.Release(g, REASON_MAINTENANCE)
  	else
  		Duel.Destroy(c, REASON_COST)
  	end
  end
  function s.sumlimit(e, c, sump, sumtype, sumpos, targetp, se)
  	return c:IsLocation(LOCATION_EXTRA) and not c:IsSetCard(SETCARD_ID_0)
  end
  function s.cfilter(c)
  	return c:IsFaceup() and c:IsSetCard(SETCARD_ID_0)
  end
  function s.rmcon(e)
  	return Duel.IsExistingMatchingCard(s.cfilter, e:GetHandlerPlayer(), LOCATION_MZONE, 0, 1, nil)
  end
  function s.rmtarget(e, c)
  	return not c:IsSetCard(SETCARD_ID_0)
  end
  
  