name: Supremacy
card_text: If your Life Points were lower than your opponent's when this card was activated, gain 2000 Life Points. If your Life Points were higher than your opponent's, you take 1000 damage.
lua: local s, id, o = GetID()
  function s.initial_effect(c)
  	--recover
  	local e1 = Effect.CreateEffect(c)
  	e1:SetType(EFFECT_TYPE_ACTIVATE)
  	e1:SetCategory(CATEGORY_RECOVER + CATEGORY_DAMAGE)
  	e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
  	e1:SetCode(EVENT_FREE_CHAIN)
  	e1:SetTarget(s.rectg)
  	e1:SetOperation(s.recop)
  	c:RegisterEffect(e1)
  end
  function s.rectg(e, tp, eg, ep, ev, re, r, rp, chk)
  	if chk == 0 then
  		return e:IsHasType(EFFECT_TYPE_ACTIVATE) and Duel.GetLP(tp) ~= Duel.GetLP(1 - tp)
  	end
  	Duel.SetTargetPlayer(tp)
  	if Duel.GetLP(tp) < Duel.GetLP(1 - tp) then
  		e:SetLabel(0)
  		Duel.SetTargetParam(2000)
  		Duel.SetOperationInfo(0, CATEGORY_RECOVER, nil, 0, tp, 2000)
  	else
  		e:SetLabel(1)
  		Duel.SetTargetParam(1000)
  		Duel.SetOperationInfo(0, CATEGORY_DAMAGE, nil, 0, tp, 1000)
  	end
  end
  function s.recop(e, tp, eg, ep, ev, re, r, rp)
  	local p, d = Duel.GetChainInfo(0, CHAININFO_TARGET_PLAYER, CHAININFO_TARGET_PARAM)
  	if e:GetLabel() == 0 then
  		Duel.Recover(p, d, REASON_EFFECT)
  	else
  		Duel.Damage(p, d, REASON_EFFECT)
  	end
  end
  
  
source_text: Supremacy
  If your Life Points were lower than your opponent's when this card was activated, gain 2000 Life Points. If your Life Points were higher than your opponent's, you take 1000 damage.
target_text: -- Supremacy
  local s, id, o = GetID()
  function s.initial_effect(c)
  	--recover
  	local e1 = Effect.CreateEffect(c)
  	e1:SetType(EFFECT_TYPE_ACTIVATE)
  	e1:SetCategory(CATEGORY_RECOVER + CATEGORY_DAMAGE)
  	e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
  	e1:SetCode(EVENT_FREE_CHAIN)
  	e1:SetTarget(s.rectg)
  	e1:SetOperation(s.recop)
  	c:RegisterEffect(e1)
  end
  function s.rectg(e, tp, eg, ep, ev, re, r, rp, chk)
  	if chk == 0 then
  		return e:IsHasType(EFFECT_TYPE_ACTIVATE) and Duel.GetLP(tp) ~= Duel.GetLP(1 - tp)
  	end
  	Duel.SetTargetPlayer(tp)
  	if Duel.GetLP(tp) < Duel.GetLP(1 - tp) then
  		e:SetLabel(0)
  		Duel.SetTargetParam(2000)
  		Duel.SetOperationInfo(0, CATEGORY_RECOVER, nil, 0, tp, 2000)
  	else
  		e:SetLabel(1)
  		Duel.SetTargetParam(1000)
  		Duel.SetOperationInfo(0, CATEGORY_DAMAGE, nil, 0, tp, 1000)
  	end
  end
  function s.recop(e, tp, eg, ep, ev, re, r, rp)
  	local p, d = Duel.GetChainInfo(0, CHAININFO_TARGET_PLAYER, CHAININFO_TARGET_PARAM)
  	if e:GetLabel() == 0 then
  		Duel.Recover(p, d, REASON_EFFECT)
  	else
  		Duel.Damage(p, d, REASON_EFFECT)
  	end
  end
  
  