Giant
If this card attacks, it is changed to Defense Position at the end of the Battle Phase. It cannot change its battle position until the end of your next turn.
local s, id, o = GetID()
function s.initial_effect(c)
	--to defense
	local e1 = Effect.CreateEffect(c)
	e1:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS)
	e1:SetCode(EVENT_PHASE + PHASE_BATTLE)
	e1:SetRange(LOCATION_MZONE)
	e1:SetCountLimit(1)
	e1:SetCondition(s.poscon)
	e1:SetOperation(s.posop)
	c:RegisterEffect(e1)
end
function s.poscon(e, tp, eg, ep, ev, re, r, rp)
	return e:GetHandler():GetAttackedCount() > 0
end
function s.posop(e, tp, eg, ep, ev, re, r, rp)
	local c = e:GetHandler()
	if c:IsAttackPos() then
		Duel.ChangePosition(c, POS_FACEUP_DEFENSE)
	end
	local e1 = Effect.CreateEffect(c)
	e1:SetType(EFFECT_TYPE_SINGLE)
	e1:SetCode(EFFECT_CANNOT_CHANGE_POSITION)
	e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
	e1:SetReset(RESET_EVENT + RESETS_STANDARD + RESET_PHASE + PHASE_END, 3)
	c:RegisterEffect(e1)
end


Giant
If this card attacks, it is changed to Defense Position at the end of the Battle Phase. It cannot change its battle position until the end of your next turn.
-- Giant
local s, id, o = GetID()
function s.initial_effect(c)
	--to defense
	local e1 = Effect.CreateEffect(c)
	e1:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS)
	e1:SetCode(EVENT_PHASE + PHASE_BATTLE)
	e1:SetRange(LOCATION_MZONE)
	e1:SetCountLimit(1)
	e1:SetCondition(s.poscon)
	e1:SetOperation(s.posop)
	c:RegisterEffect(e1)
end
function s.poscon(e, tp, eg, ep, ev, re, r, rp)
	return e:GetHandler():GetAttackedCount() > 0
end
function s.posop(e, tp, eg, ep, ev, re, r, rp)
	local c = e:GetHandler()
	if c:IsAttackPos() then
		Duel.ChangePosition(c, POS_FACEUP_DEFENSE)
	end
	local e1 = Effect.CreateEffect(c)
	e1:SetType(EFFECT_TYPE_SINGLE)
	e1:SetCode(EFFECT_CANNOT_CHANGE_POSITION)
	e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
	e1:SetReset(RESET_EVENT + RESETS_STANDARD + RESET_PHASE + PHASE_END, 3)
	c:RegisterEffect(e1)
end

