name: Hand-Holding
card_text: Monsters your opponent controls cannot target monsters for attacks, except this one. Gains DEF equal to the combined original DEF of all other face-up Defense Position monsters you control.
lua: local s, id, o = GetID()
  function s.initial_effect(c)
  	--atk limit
  	local e1 = Effect.CreateEffect(c)
  	e1:SetType(EFFECT_TYPE_FIELD)
  	e1:SetCode(EFFECT_CANNOT_SELECT_BATTLE_TARGET)
  	e1:SetRange(LOCATION_MZONE)
  	e1:SetTargetRange(0, LOCATION_MZONE)
  	e1:SetValue(s.atlimit)
  	c:RegisterEffect(e1)
  	--defup
  	local e2 = Effect.CreateEffect(c)
  	e2:SetType(EFFECT_TYPE_SINGLE)
  	e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
  	e2:SetRange(LOCATION_MZONE)
  	e2:SetCode(EFFECT_UPDATE_DEFENSE)
  	e2:SetValue(s.defval)
  	c:RegisterEffect(e2)
  end
  function s.atlimit(e, c)
  	return c ~= e:GetHandler()
  end
  function s.deffilter(c)
  	return c:GetBaseDefense() >= 0 and c:IsPosition(POS_FACEUP_DEFENSE)
  end
  function s.defval(e, c)
  	local g = Duel.GetMatchingGroup(s.deffilter, c:GetControler(), LOCATION_MZONE, 0, c)
  	return g:GetSum(Card.GetBaseDefense)
  end
  
  
source_text: Hand-Holding
  Monsters your opponent controls cannot target monsters for attacks, except this one. Gains DEF equal to the combined original DEF of all other face-up Defense Position monsters you control.
target_text: -- Hand-Holding
  local s, id, o = GetID()
  function s.initial_effect(c)
  	--atk limit
  	local e1 = Effect.CreateEffect(c)
  	e1:SetType(EFFECT_TYPE_FIELD)
  	e1:SetCode(EFFECT_CANNOT_SELECT_BATTLE_TARGET)
  	e1:SetRange(LOCATION_MZONE)
  	e1:SetTargetRange(0, LOCATION_MZONE)
  	e1:SetValue(s.atlimit)
  	c:RegisterEffect(e1)
  	--defup
  	local e2 = Effect.CreateEffect(c)
  	e2:SetType(EFFECT_TYPE_SINGLE)
  	e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
  	e2:SetRange(LOCATION_MZONE)
  	e2:SetCode(EFFECT_UPDATE_DEFENSE)
  	e2:SetValue(s.defval)
  	c:RegisterEffect(e2)
  end
  function s.atlimit(e, c)
  	return c ~= e:GetHandler()
  end
  function s.deffilter(c)
  	return c:GetBaseDefense() >= 0 and c:IsPosition(POS_FACEUP_DEFENSE)
  end
  function s.defval(e, c)
  	local g = Duel.GetMatchingGroup(s.deffilter, c:GetControler(), LOCATION_MZONE, 0, c)
  	return g:GetSum(Card.GetBaseDefense)
  end
  
  