name: Contract
card_text: If you have all 5 of "Exodia the Forbidden One", "Right Arm of the Forbidden One", "Left Arm of the Forbidden One", "Right Leg of the Forbidden One", and "Left Leg of the Forbidden One" in your Graveyard: Special Summon 1 "Exodia Necross" from your hand.
external_ids: local CARD_ID_0 = 44519536 --Left Leg of the Forbidden One
  local CARD_ID_1 = 70903634 --Right Arm of the Forbidden One
  local CARD_ID_2 = 33396948 --Exodia the Forbidden One
  local CARD_ID_3 = 7902349 --Left Arm of the Forbidden One
  local CARD_ID_4 = 8124921 --Right Leg of the Forbidden One
  local CARD_ID_5 = 12600382 --Exodia Necross
  
lua: local CARD_ID_0 = 44519536 --Left Leg of the Forbidden One
  local CARD_ID_1 = 70903634 --Right Arm of the Forbidden One
  local CARD_ID_2 = 33396948 --Exodia the Forbidden One
  local CARD_ID_3 = 7902349 --Left Arm of the Forbidden One
  local CARD_ID_4 = 8124921 --Right Leg of the Forbidden One
  local CARD_ID_5 = 12600382 --Exodia Necross
  local s, id, o = GetID()
  function s.initial_effect(c)
  	aux.AddCodeList(c, CARD_ID_4, CARD_ID_0, CARD_ID_1, CARD_ID_3, CARD_ID_2)
  	--Activate
  	local e1 = Effect.CreateEffect(c)
  	e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
  	e1:SetType(EFFECT_TYPE_ACTIVATE)
  	e1:SetCode(EVENT_FREE_CHAIN)
  	e1:SetCondition(s.condition)
  	e1:SetTarget(s.target)
  	e1:SetOperation(s.activate)
  	c:RegisterEffect(e1)
  end
  function s.condition(e, tp, eg, ep, ev, re, r, rp)
  	return Duel.IsExistingMatchingCard(Card.IsCode, tp, LOCATION_GRAVE, 0, 1, nil, CARD_ID_4)
  		and Duel.IsExistingMatchingCard(Card.IsCode, tp, LOCATION_GRAVE, 0, 1, nil, CARD_ID_0)
  		and Duel.IsExistingMatchingCard(Card.IsCode, tp, LOCATION_GRAVE, 0, 1, nil, CARD_ID_1)
  		and Duel.IsExistingMatchingCard(Card.IsCode, tp, LOCATION_GRAVE, 0, 1, nil, CARD_ID_3)
  		and Duel.IsExistingMatchingCard(Card.IsCode, tp, LOCATION_GRAVE, 0, 1, nil, CARD_ID_2)
  end
  function s.filter(c, e, tp)
  	return c:IsCode(CARD_ID_5) and c:IsCanBeSpecialSummoned(e, 0, tp, true, true)
  end
  function s.target(e, tp, eg, ep, ev, re, r, rp, chk)
  	if chk == 0 then
  		return Duel.GetLocationCount(tp, LOCATION_MZONE) > 0 and Duel.IsExistingMatchingCard(s.filter, tp, LOCATION_HAND, 0, 1, nil, e, tp)
  	end
  	Duel.SetOperationInfo(0, CATEGORY_SPECIAL_SUMMON, nil, 1, tp, LOCATION_HAND)
  end
  function s.activate(e, tp, eg, ep, ev, re, r, rp)
  	if Duel.GetLocationCount(tp, LOCATION_MZONE) <= 0 then
  		return
  	end
  	Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_SPSUMMON)
  	local tg = Duel.SelectMatchingCard(tp, s.filter, tp, LOCATION_HAND, 0, 1, 1, nil, e, tp)
  	if tg:GetCount() > 0 then
  		local tc = tg:GetFirst()
  		Duel.SpecialSummon(tc, 0, tp, tp, true, true, POS_FACEUP)
  		tc:CompleteProcedure()
  	end
  end
  
  
source_text: Contract
  If you have all 5 of "Exodia the Forbidden One", "Right Arm of the Forbidden One", "Left Arm of the Forbidden One", "Right Leg of the Forbidden One", and "Left Leg of the Forbidden One" in your Graveyard: Special Summon 1 "Exodia Necross" from your hand.
target_text: -- Contract
  local CARD_ID_0 = 44519536 --Left Leg of the Forbidden One
  local CARD_ID_1 = 70903634 --Right Arm of the Forbidden One
  local CARD_ID_2 = 33396948 --Exodia the Forbidden One
  local CARD_ID_3 = 7902349 --Left Arm of the Forbidden One
  local CARD_ID_4 = 8124921 --Right Leg of the Forbidden One
  local CARD_ID_5 = 12600382 --Exodia Necross
  local s, id, o = GetID()
  function s.initial_effect(c)
  	aux.AddCodeList(c, CARD_ID_4, CARD_ID_0, CARD_ID_1, CARD_ID_3, CARD_ID_2)
  	--Activate
  	local e1 = Effect.CreateEffect(c)
  	e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
  	e1:SetType(EFFECT_TYPE_ACTIVATE)
  	e1:SetCode(EVENT_FREE_CHAIN)
  	e1:SetCondition(s.condition)
  	e1:SetTarget(s.target)
  	e1:SetOperation(s.activate)
  	c:RegisterEffect(e1)
  end
  function s.condition(e, tp, eg, ep, ev, re, r, rp)
  	return Duel.IsExistingMatchingCard(Card.IsCode, tp, LOCATION_GRAVE, 0, 1, nil, CARD_ID_4)
  		and Duel.IsExistingMatchingCard(Card.IsCode, tp, LOCATION_GRAVE, 0, 1, nil, CARD_ID_0)
  		and Duel.IsExistingMatchingCard(Card.IsCode, tp, LOCATION_GRAVE, 0, 1, nil, CARD_ID_1)
  		and Duel.IsExistingMatchingCard(Card.IsCode, tp, LOCATION_GRAVE, 0, 1, nil, CARD_ID_3)
  		and Duel.IsExistingMatchingCard(Card.IsCode, tp, LOCATION_GRAVE, 0, 1, nil, CARD_ID_2)
  end
  function s.filter(c, e, tp)
  	return c:IsCode(CARD_ID_5) and c:IsCanBeSpecialSummoned(e, 0, tp, true, true)
  end
  function s.target(e, tp, eg, ep, ev, re, r, rp, chk)
  	if chk == 0 then
  		return Duel.GetLocationCount(tp, LOCATION_MZONE) > 0 and Duel.IsExistingMatchingCard(s.filter, tp, LOCATION_HAND, 0, 1, nil, e, tp)
  	end
  	Duel.SetOperationInfo(0, CATEGORY_SPECIAL_SUMMON, nil, 1, tp, LOCATION_HAND)
  end
  function s.activate(e, tp, eg, ep, ev, re, r, rp)
  	if Duel.GetLocationCount(tp, LOCATION_MZONE) <= 0 then
  		return
  	end
  	Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_SPSUMMON)
  	local tg = Duel.SelectMatchingCard(tp, s.filter, tp, LOCATION_HAND, 0, 1, 1, nil, e, tp)
  	if tg:GetCount() > 0 then
  		local tc = tg:GetFirst()
  		Duel.SpecialSummon(tc, 0, tp, tp, true, true, POS_FACEUP)
  		tc:CompleteProcedure()
  	end
  end
  
  