name: X・HERO
card_text: 「HERO」モンスター2体以上
  1:このカード及びこのカードのリンク先の「HERO」モンスターの攻撃力は、自分の墓地の「HERO」モンスターの種類×100アップする。
  2:このカードが守備表示モンスターを攻撃した場合、その守備力を攻撃力が超えた分だけ戦闘ダメージを与える。
external_ids: local SETCARD_ID_0 = 0x8 --HERO
  
lua: local SETCARD_ID_0 = 0x8 --HERO
  local s, id, o = GetID()
  function s.initial_effect(c)
  	--link summon
  	aux.AddLinkProcedure(c, aux.FilterBoolFunction(Card.IsLinkSetCard, SETCARD_ID_0), 2)
  	c:EnableReviveLimit()
  	--atk
  	local e1 = Effect.CreateEffect(c)
  	e1:SetType(EFFECT_TYPE_FIELD)
  	e1:SetCode(EFFECT_UPDATE_ATTACK)
  	e1:SetRange(LOCATION_MZONE)
  	e1:SetTargetRange(LOCATION_MZONE, LOCATION_MZONE)
  	e1:SetTarget(s.atktg)
  	e1:SetValue(s.atkval)
  	c:RegisterEffect(e1)
  	--pierce
  	local e2 = Effect.CreateEffect(c)
  	e2:SetType(EFFECT_TYPE_SINGLE)
  	e2:SetCode(EFFECT_PIERCE)
  	c:RegisterEffect(e2)
  end
  function s.atktg(e, c)
  	return c == e:GetHandler() or c:IsFaceup() and c:IsSetCard(SETCARD_ID_0) and e:GetHandler():GetLinkedGroup():IsContains(c)
  end
  function s.atkfilter(c)
  	return c:IsSetCard(SETCARD_ID_0) and c:IsType(TYPE_MONSTER)
  end
  function s.atkval(e, c)
  	return Duel.GetMatchingGroup(s.atkfilter, e:GetHandlerPlayer(), LOCATION_GRAVE, 0, nil):GetClassCount(Card.GetCode) * 100
  end
  
  
source_text: X・HERO
  「HERO」モンスター2体以上
  1:このカード及びこのカードのリンク先の「HERO」モンスターの攻撃力は、自分の墓地の「HERO」モンスターの種類×100アップする。
  2:このカードが守備表示モンスターを攻撃した場合、その守備力を攻撃力が超えた分だけ戦闘ダメージを与える。
target_text: -- X・HERO
  local SETCARD_ID_0 = 0x8 --HERO
  local s, id, o = GetID()
  function s.initial_effect(c)
  	--link summon
  	aux.AddLinkProcedure(c, aux.FilterBoolFunction(Card.IsLinkSetCard, SETCARD_ID_0), 2)
  	c:EnableReviveLimit()
  	--atk
  	local e1 = Effect.CreateEffect(c)
  	e1:SetType(EFFECT_TYPE_FIELD)
  	e1:SetCode(EFFECT_UPDATE_ATTACK)
  	e1:SetRange(LOCATION_MZONE)
  	e1:SetTargetRange(LOCATION_MZONE, LOCATION_MZONE)
  	e1:SetTarget(s.atktg)
  	e1:SetValue(s.atkval)
  	c:RegisterEffect(e1)
  	--pierce
  	local e2 = Effect.CreateEffect(c)
  	e2:SetType(EFFECT_TYPE_SINGLE)
  	e2:SetCode(EFFECT_PIERCE)
  	c:RegisterEffect(e2)
  end
  function s.atktg(e, c)
  	return c == e:GetHandler() or c:IsFaceup() and c:IsSetCard(SETCARD_ID_0) and e:GetHandler():GetLinkedGroup():IsContains(c)
  end
  function s.atkfilter(c)
  	return c:IsSetCard(SETCARD_ID_0) and c:IsType(TYPE_MONSTER)
  end
  function s.atkval(e, c)
  	return Duel.GetMatchingGroup(s.atkfilter, e:GetHandlerPlayer(), LOCATION_GRAVE, 0, nil):GetClassCount(Card.GetCode) * 100
  end
  
  