name: 燃え竹光
card_text: 1:このカードが既に魔法&罠ゾーンに存在する状態で、自分が「竹光」カードを発動した場合に発動できる。
  次の相手メインフェイズ1をスキップする。
external_ids: local SETCARD_ID_0 = 0x60 --竹光
  
lua: local SETCARD_ID_0 = 0x60 --竹光
  local s, id, o = GetID()
  function s.initial_effect(c)
  	--activate
  	local e1 = Effect.CreateEffect(c)
  	e1:SetType(EFFECT_TYPE_ACTIVATE)
  	e1:SetCode(EVENT_FREE_CHAIN)
  	c:RegisterEffect(e1)
  	--set
  	local e3 = Effect.CreateEffect(c)
  	e3:SetDescription(aux.Stringid(id, 0))
  	e3:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_TRIGGER_O)
  	e3:SetCode(EVENT_CHAINING)
  	e3:SetProperty(EFFECT_FLAG_DELAY)
  	e3:SetRange(LOCATION_SZONE)
  	e3:SetCondition(s.skipcon)
  	e3:SetTarget(s.skiptg)
  	e3:SetOperation(s.skipop)
  	c:RegisterEffect(e3)
  end
  function s.skipcon(e, tp, eg, ep, ev, re, r, rp)
  	return rp == tp and re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:GetHandler():IsSetCard(SETCARD_ID_0)
  end
  function s.skiptg(e, tp, eg, ep, ev, re, r, rp, chk)
  	if chk == 0 then
  		return not Duel.IsPlayerAffectedByEffect(1 - tp, EFFECT_SKIP_M1)
  	end
  end
  function s.skipop(e, tp, eg, ep, ev, re, r, rp)
  	local e1 = Effect.CreateEffect(e:GetHandler())
  	e1:SetType(EFFECT_TYPE_FIELD)
  	e1:SetCode(EFFECT_SKIP_M1)
  	e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
  	e1:SetTargetRange(0, 1)
  	if Duel.GetTurnPlayer() == 1 - tp then
  		e1:SetLabel(Duel.GetTurnCount())
  		e1:SetCondition(s.turncon)
  		e1:SetReset(RESET_PHASE + PHASE_END + RESET_OPPO_TURN, 2)
  	else
  		e1:SetReset(RESET_PHASE + PHASE_END + RESET_OPPO_TURN, 1)
  	end
  	Duel.RegisterEffect(e1, tp)
  end
  function s.turncon(e)
  	return Duel.GetTurnCount() ~= e:GetLabel()
  end
  
  
source_text: 燃え竹光
  1:このカードが既に魔法&罠ゾーンに存在する状態で、自分が「竹光」カードを発動した場合に発動できる。
  次の相手メインフェイズ1をスキップする。
target_text: -- 燃え竹光
  local SETCARD_ID_0 = 0x60 --竹光
  local s, id, o = GetID()
  function s.initial_effect(c)
  	--activate
  	local e1 = Effect.CreateEffect(c)
  	e1:SetType(EFFECT_TYPE_ACTIVATE)
  	e1:SetCode(EVENT_FREE_CHAIN)
  	c:RegisterEffect(e1)
  	--set
  	local e3 = Effect.CreateEffect(c)
  	e3:SetDescription(aux.Stringid(id, 0))
  	e3:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_TRIGGER_O)
  	e3:SetCode(EVENT_CHAINING)
  	e3:SetProperty(EFFECT_FLAG_DELAY)
  	e3:SetRange(LOCATION_SZONE)
  	e3:SetCondition(s.skipcon)
  	e3:SetTarget(s.skiptg)
  	e3:SetOperation(s.skipop)
  	c:RegisterEffect(e3)
  end
  function s.skipcon(e, tp, eg, ep, ev, re, r, rp)
  	return rp == tp and re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:GetHandler():IsSetCard(SETCARD_ID_0)
  end
  function s.skiptg(e, tp, eg, ep, ev, re, r, rp, chk)
  	if chk == 0 then
  		return not Duel.IsPlayerAffectedByEffect(1 - tp, EFFECT_SKIP_M1)
  	end
  end
  function s.skipop(e, tp, eg, ep, ev, re, r, rp)
  	local e1 = Effect.CreateEffect(e:GetHandler())
  	e1:SetType(EFFECT_TYPE_FIELD)
  	e1:SetCode(EFFECT_SKIP_M1)
  	e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
  	e1:SetTargetRange(0, 1)
  	if Duel.GetTurnPlayer() == 1 - tp then
  		e1:SetLabel(Duel.GetTurnCount())
  		e1:SetCondition(s.turncon)
  		e1:SetReset(RESET_PHASE + PHASE_END + RESET_OPPO_TURN, 2)
  	else
  		e1:SetReset(RESET_PHASE + PHASE_END + RESET_OPPO_TURN, 1)
  	end
  	Duel.RegisterEffect(e1, tp)
  end
  function s.turncon(e)
  	return Duel.GetTurnCount() ~= e:GetLabel()
  end
  
  