name: True
card_text: 2+ Level 9 monsters
  Once per turn (Quick Effect): You can detach 1 material from this card and declare 1 Attribute; this turn, all face-up monsters on the field become that Attribute, also all monsters in your opponent's possession with that Attribute cannot activate their effects or attack. Monsters that "True Draco" and "True King" monsters in your hand would destroy with their effects can be chosen from your opponent's field.
lua: local s, id, o = GetID()
  function s.initial_effect(c)
  	--xyz summon
  	aux.AddXyzProcedure(c, nil, 9, 2, nil, nil, 99)
  	c:EnableReviveLimit()
  	--attribute change
  	local e1 = Effect.CreateEffect(c)
  	e1:SetDescription(aux.Stringid(id, 0))
  	e1:SetType(EFFECT_TYPE_QUICK_O)
  	e1:SetCode(EVENT_FREE_CHAIN)
  	e1:SetRange(LOCATION_MZONE)
  	e1:SetCountLimit(1)
  	e1:SetHintTiming(0, TIMING_DRAW_PHASE)
  	e1:SetCost(s.atcost)
  	e1:SetTarget(s.attg)
  	e1:SetOperation(s.atop)
  	c:RegisterEffect(e1)
  	--true king destruction
  	local e2 = Effect.CreateEffect(c)
  	e2:SetType(EFFECT_TYPE_FIELD)
  	e2:SetCode(id)
  	e2:SetRange(LOCATION_MZONE)
  	e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
  	e2:SetTargetRange(1, 0)
  	c:RegisterEffect(e2)
  end
  function s.atcost(e, tp, eg, ep, ev, re, r, rp, chk)
  	if chk == 0 then
  		return e:GetHandler():CheckRemoveOverlayCard(tp, 1, REASON_COST)
  	end
  	e:GetHandler():RemoveOverlayCard(tp, 1, 1, REASON_COST)
  end
  function s.attg(e, tp, eg, ep, ev, re, r, rp, chk)
  	if chk == 0 then
  		return Duel.IsExistingMatchingCard(Card.IsFaceup, tp, LOCATION_MZONE, LOCATION_MZONE, 1, nil)
  	end
  	Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_ATTRIBUTE)
  	local rc = Duel.AnnounceAttribute(tp, 1, ATTRIBUTE_ALL)
  	e:SetLabel(rc)
  end
  function s.atop(e, tp, eg, ep, ev, re, r, rp)
  	local c = e:GetHandler()
  	local e1 = Effect.CreateEffect(c)
  	e1:SetType(EFFECT_TYPE_FIELD)
  	e1:SetCode(EFFECT_CHANGE_ATTRIBUTE)
  	e1:SetTargetRange(LOCATION_MZONE, LOCATION_MZONE)
  	e1:SetValue(e:GetLabel())
  	e1:SetReset(RESET_PHASE + PHASE_END)
  	Duel.RegisterEffect(e1, tp)
  	local e2 = Effect.CreateEffect(c)
  	e2:SetType(EFFECT_TYPE_FIELD)
  	e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
  	e2:SetCode(EFFECT_CANNOT_ACTIVATE)
  	e2:SetTargetRange(0, 1)
  	e2:SetLabel(e:GetLabel())
  	e2:SetValue(s.aclimit)
  	e2:SetReset(RESET_PHASE + PHASE_END)
  	Duel.RegisterEffect(e2, tp)
  	local e3 = Effect.CreateEffect(c)
  	e3:SetType(EFFECT_TYPE_FIELD)
  	e3:SetCode(EFFECT_CANNOT_ATTACK)
  	e3:SetTargetRange(0, LOCATION_MZONE)
  	e3:SetLabel(e:GetLabel())
  	e3:SetTarget(s.atktarget)
  	e3:SetReset(RESET_PHASE + PHASE_END)
  	Duel.RegisterEffect(e3, tp)
  end
  function s.aclimit(e, re, tp)
  	local c = re:GetHandler()
  	return re:IsActiveType(TYPE_MONSTER) and c:IsAttribute(e:GetLabel())
  end
  function s.atktarget(e, c)
  	return c:IsAttribute(e:GetLabel())
  end
  
  
source_text: True
  2+ Level 9 monsters
  Once per turn (Quick Effect): You can detach 1 material from this card and declare 1 Attribute; this turn, all face-up monsters on the field become that Attribute, also all monsters in your opponent's possession with that Attribute cannot activate their effects or attack. Monsters that "True Draco" and "True King" monsters in your hand would destroy with their effects can be chosen from your opponent's field.
target_text: -- True
  local s, id, o = GetID()
  function s.initial_effect(c)
  	--xyz summon
  	aux.AddXyzProcedure(c, nil, 9, 2, nil, nil, 99)
  	c:EnableReviveLimit()
  	--attribute change
  	local e1 = Effect.CreateEffect(c)
  	e1:SetDescription(aux.Stringid(id, 0))
  	e1:SetType(EFFECT_TYPE_QUICK_O)
  	e1:SetCode(EVENT_FREE_CHAIN)
  	e1:SetRange(LOCATION_MZONE)
  	e1:SetCountLimit(1)
  	e1:SetHintTiming(0, TIMING_DRAW_PHASE)
  	e1:SetCost(s.atcost)
  	e1:SetTarget(s.attg)
  	e1:SetOperation(s.atop)
  	c:RegisterEffect(e1)
  	--true king destruction
  	local e2 = Effect.CreateEffect(c)
  	e2:SetType(EFFECT_TYPE_FIELD)
  	e2:SetCode(id)
  	e2:SetRange(LOCATION_MZONE)
  	e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
  	e2:SetTargetRange(1, 0)
  	c:RegisterEffect(e2)
  end
  function s.atcost(e, tp, eg, ep, ev, re, r, rp, chk)
  	if chk == 0 then
  		return e:GetHandler():CheckRemoveOverlayCard(tp, 1, REASON_COST)
  	end
  	e:GetHandler():RemoveOverlayCard(tp, 1, 1, REASON_COST)
  end
  function s.attg(e, tp, eg, ep, ev, re, r, rp, chk)
  	if chk == 0 then
  		return Duel.IsExistingMatchingCard(Card.IsFaceup, tp, LOCATION_MZONE, LOCATION_MZONE, 1, nil)
  	end
  	Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_ATTRIBUTE)
  	local rc = Duel.AnnounceAttribute(tp, 1, ATTRIBUTE_ALL)
  	e:SetLabel(rc)
  end
  function s.atop(e, tp, eg, ep, ev, re, r, rp)
  	local c = e:GetHandler()
  	local e1 = Effect.CreateEffect(c)
  	e1:SetType(EFFECT_TYPE_FIELD)
  	e1:SetCode(EFFECT_CHANGE_ATTRIBUTE)
  	e1:SetTargetRange(LOCATION_MZONE, LOCATION_MZONE)
  	e1:SetValue(e:GetLabel())
  	e1:SetReset(RESET_PHASE + PHASE_END)
  	Duel.RegisterEffect(e1, tp)
  	local e2 = Effect.CreateEffect(c)
  	e2:SetType(EFFECT_TYPE_FIELD)
  	e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
  	e2:SetCode(EFFECT_CANNOT_ACTIVATE)
  	e2:SetTargetRange(0, 1)
  	e2:SetLabel(e:GetLabel())
  	e2:SetValue(s.aclimit)
  	e2:SetReset(RESET_PHASE + PHASE_END)
  	Duel.RegisterEffect(e2, tp)
  	local e3 = Effect.CreateEffect(c)
  	e3:SetType(EFFECT_TYPE_FIELD)
  	e3:SetCode(EFFECT_CANNOT_ATTACK)
  	e3:SetTargetRange(0, LOCATION_MZONE)
  	e3:SetLabel(e:GetLabel())
  	e3:SetTarget(s.atktarget)
  	e3:SetReset(RESET_PHASE + PHASE_END)
  	Duel.RegisterEffect(e3, tp)
  end
  function s.aclimit(e, re, tp)
  	local c = re:GetHandler()
  	return re:IsActiveType(TYPE_MONSTER) and c:IsAttribute(e:GetLabel())
  end
  function s.atktarget(e, c)
  	return c:IsAttribute(e:GetLabel())
  end
  
  