name: クリフォート・アセンブラ
card_text: 【Pスケール:青1/赤1】
  1:自分は「クリフォート」モンスターしか特殊召喚できない。
  この効果は無効化されない。
  2:自分がアドバンス召喚に成功したターンのエンドフェイズに発動できる。
  このターン自分がアドバンス召喚のためにリリースした「クリフォート」モンスターの数だけ、自分はデッキからドローする。
  【モンスター情報】
  qliphoth.exe の 0x1i-666 でハンドルされていない例外を確認。
  場所 0x00-000 に書き込み中にアクセス違反が発生しました。
  このエラーを無視し、続行しますか? <Y/N>...[ ]
  ===CARNAGE===
  たッgなnトiのoモdる知rヲu悪o善yりナnにoウよyノrりgトnひaノれsワiれワdはo人Gヨ見
  イdなoレo知lもfカるeキr生iにf久永gベn食iてrッb取もoラtか木tノn命aべw伸ヲd手nはa彼
external_ids: local SETCARD_ID_0 = 0xaa --クリフォート
  
lua: local SETCARD_ID_0 = 0xaa --クリフォート
  local s, id, o = GetID()
  function s.initial_effect(c)
  	--pendulum summon
  	aux.EnablePendulumAttribute(c)
  	--splimit
  	local e2 = Effect.CreateEffect(c)
  	e2:SetType(EFFECT_TYPE_FIELD)
  	e2:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
  	e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET + EFFECT_FLAG_CANNOT_DISABLE + EFFECT_FLAG_CAN_FORBIDDEN)
  	e2:SetRange(LOCATION_PZONE)
  	e2:SetTargetRange(1, 0)
  	e2:SetTarget(s.splimit)
  	c:RegisterEffect(e2)
  	--draw
  	local e3 = Effect.CreateEffect(c)
  	e3:SetDescription(aux.Stringid(id, 0))
  	e3:SetCategory(CATEGORY_DRAW)
  	e3:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_TRIGGER_O)
  	e3:SetCode(EVENT_PHASE + PHASE_END)
  	e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
  	e3:SetRange(LOCATION_PZONE)
  	e3:SetCountLimit(1)
  	e3:SetCondition(s.drcon)
  	e3:SetTarget(s.drtg)
  	e3:SetOperation(s.drop)
  	c:RegisterEffect(e3)
  	if not s.global_check then
  		s.global_check = true
  		s[0] = 0
  		s[1] = 0
  		local ge1 = Effect.CreateEffect(c)
  		ge1:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS)
  		ge1:SetCode(EVENT_SUMMON_SUCCESS)
  		ge1:SetOperation(s.checkop)
  		Duel.RegisterEffect(ge1, 0)
  		local ge2 = ge1:Clone()
  		ge2:SetCode(EVENT_MSET)
  		Duel.RegisterEffect(ge2, 0)
  		local ge3 = Effect.CreateEffect(c)
  		ge3:SetType(EFFECT_TYPE_FIELD)
  		ge3:SetCode(EFFECT_MATERIAL_CHECK)
  		ge3:SetTargetRange(LOCATION_HAND, LOCATION_HAND)
  		ge3:SetValue(s.valcheck)
  		Duel.RegisterEffect(ge3, 0)
  		ge1:SetLabelObject(ge3)
  		ge2:SetLabelObject(ge3)
  		local ge4 = Effect.CreateEffect(c)
  		ge4:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS)
  		ge4:SetCode(EVENT_PHASE_START + PHASE_DRAW)
  		ge4:SetOperation(s.clearop)
  		Duel.RegisterEffect(ge4, 0)
  	end
  end
  function s.splimit(e, c)
  	return not c:IsSetCard(SETCARD_ID_0)
  end
  function s.checkop(e, tp, eg, ep, ev, re, r, rp)
  	local tc = eg:GetFirst()
  	if tc:IsSummonType(SUMMON_TYPE_ADVANCE) then
  		local p = tc:GetSummonPlayer()
  		s[p] = s[p] + e:GetLabelObject():GetLabel()
  	end
  end
  function s.valcheck(e, c)
  	local ct = c:GetMaterial():FilterCount(Card.IsSetCard, nil, 0xaa)
  	e:SetLabel(ct)
  end
  function s.clearop(e, tp, eg, ep, ev, re, r, rp)
  	s[0] = 0
  	s[1] = 0
  end
  function s.drcon(e, tp, eg, ep, ev, re, r, rp)
  	return s[tp] > 0
  end
  function s.drtg(e, tp, eg, ep, ev, re, r, rp, chk)
  	if chk == 0 then
  		return Duel.IsPlayerCanDraw(tp, s[tp])
  	end
  	Duel.SetOperationInfo(0, CATEGORY_DRAW, nil, 0, tp, s[tp])
  end
  function s.drop(e, tp, eg, ep, ev, re, r, rp)
  	Duel.Draw(tp, s[tp], REASON_EFFECT)
  end
  
  
source_text: クリフォート・アセンブラ
  【Pスケール:青1/赤1】
  1:自分は「クリフォート」モンスターしか特殊召喚できない。
  この効果は無効化されない。
  2:自分がアドバンス召喚に成功したターンのエンドフェイズに発動できる。
  このターン自分がアドバンス召喚のためにリリースした「クリフォート」モンスターの数だけ、自分はデッキからドローする。
  【モンスター情報】
  qliphoth.exe の 0x1i-666 でハンドルされていない例外を確認。
  場所 0x00-000 に書き込み中にアクセス違反が発生しました。
  このエラーを無視し、続行しますか? <Y/N>...[ ]
  ===CARNAGE===
  たッgなnトiのoモdる知rヲu悪o善yりナnにoウよyノrりgトnひaノれsワiれワdはo人Gヨ見
  イdなoレo知lもfカるeキr生iにf久永gベn食iてrッb取もoラtか木tノn命aべw伸ヲd手nはa彼
target_text: -- クリフォート・アセンブラ
  local SETCARD_ID_0 = 0xaa --クリフォート
  local s, id, o = GetID()
  function s.initial_effect(c)
  	--pendulum summon
  	aux.EnablePendulumAttribute(c)
  	--splimit
  	local e2 = Effect.CreateEffect(c)
  	e2:SetType(EFFECT_TYPE_FIELD)
  	e2:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON)
  	e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET + EFFECT_FLAG_CANNOT_DISABLE + EFFECT_FLAG_CAN_FORBIDDEN)
  	e2:SetRange(LOCATION_PZONE)
  	e2:SetTargetRange(1, 0)
  	e2:SetTarget(s.splimit)
  	c:RegisterEffect(e2)
  	--draw
  	local e3 = Effect.CreateEffect(c)
  	e3:SetDescription(aux.Stringid(id, 0))
  	e3:SetCategory(CATEGORY_DRAW)
  	e3:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_TRIGGER_O)
  	e3:SetCode(EVENT_PHASE + PHASE_END)
  	e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
  	e3:SetRange(LOCATION_PZONE)
  	e3:SetCountLimit(1)
  	e3:SetCondition(s.drcon)
  	e3:SetTarget(s.drtg)
  	e3:SetOperation(s.drop)
  	c:RegisterEffect(e3)
  	if not s.global_check then
  		s.global_check = true
  		s[0] = 0
  		s[1] = 0
  		local ge1 = Effect.CreateEffect(c)
  		ge1:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS)
  		ge1:SetCode(EVENT_SUMMON_SUCCESS)
  		ge1:SetOperation(s.checkop)
  		Duel.RegisterEffect(ge1, 0)
  		local ge2 = ge1:Clone()
  		ge2:SetCode(EVENT_MSET)
  		Duel.RegisterEffect(ge2, 0)
  		local ge3 = Effect.CreateEffect(c)
  		ge3:SetType(EFFECT_TYPE_FIELD)
  		ge3:SetCode(EFFECT_MATERIAL_CHECK)
  		ge3:SetTargetRange(LOCATION_HAND, LOCATION_HAND)
  		ge3:SetValue(s.valcheck)
  		Duel.RegisterEffect(ge3, 0)
  		ge1:SetLabelObject(ge3)
  		ge2:SetLabelObject(ge3)
  		local ge4 = Effect.CreateEffect(c)
  		ge4:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS)
  		ge4:SetCode(EVENT_PHASE_START + PHASE_DRAW)
  		ge4:SetOperation(s.clearop)
  		Duel.RegisterEffect(ge4, 0)
  	end
  end
  function s.splimit(e, c)
  	return not c:IsSetCard(SETCARD_ID_0)
  end
  function s.checkop(e, tp, eg, ep, ev, re, r, rp)
  	local tc = eg:GetFirst()
  	if tc:IsSummonType(SUMMON_TYPE_ADVANCE) then
  		local p = tc:GetSummonPlayer()
  		s[p] = s[p] + e:GetLabelObject():GetLabel()
  	end
  end
  function s.valcheck(e, c)
  	local ct = c:GetMaterial():FilterCount(Card.IsSetCard, nil, 0xaa)
  	e:SetLabel(ct)
  end
  function s.clearop(e, tp, eg, ep, ev, re, r, rp)
  	s[0] = 0
  	s[1] = 0
  end
  function s.drcon(e, tp, eg, ep, ev, re, r, rp)
  	return s[tp] > 0
  end
  function s.drtg(e, tp, eg, ep, ev, re, r, rp, chk)
  	if chk == 0 then
  		return Duel.IsPlayerCanDraw(tp, s[tp])
  	end
  	Duel.SetOperationInfo(0, CATEGORY_DRAW, nil, 0, tp, s[tp])
  end
  function s.drop(e, tp, eg, ep, ev, re, r, rp)
  	Duel.Draw(tp, s[tp], REASON_EFFECT)
  end
  
  