邪神ドレッド・ルート
このカードは特殊召喚できない。
自分フィールドのモンスター3体をリリースした場合のみ通常召喚できる。
1:このカードがモンスターゾーンに存在する限り、このカード以外のフィールドのモンスターの攻撃力・守備力は半分になる。
local s, id, o = GetID()
function s.initial_effect(c)
	--summon with 3 tribute
	local e1 = Effect.CreateEffect(c)
	e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE + EFFECT_FLAG_UNCOPYABLE)
	e1:SetType(EFFECT_TYPE_SINGLE)
	e1:SetCode(EFFECT_LIMIT_SUMMON_PROC)
	e1:SetCondition(s.ttcon)
	e1:SetOperation(s.ttop)
	e1:SetValue(SUMMON_TYPE_ADVANCE)
	c:RegisterEffect(e1)
	local e2 = e1:Clone()
	e2:SetCode(EFFECT_LIMIT_SET_PROC)
	c:RegisterEffect(e2)
	--cannot special summon
	local e3 = Effect.CreateEffect(c)
	e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE + EFFECT_FLAG_UNCOPYABLE)
	e3:SetType(EFFECT_TYPE_SINGLE)
	e3:SetCode(EFFECT_SPSUMMON_CONDITION)
	c:RegisterEffect(e3)
	--half atk
	local e4 = Effect.CreateEffect(c)
	e4:SetType(EFFECT_TYPE_FIELD)
	e4:SetCode(EFFECT_SET_ATTACK_FINAL)
	e4:SetRange(LOCATION_MZONE)
	e4:SetProperty(0, EFFECT_FLAG2_WICKED)
	e4:SetTargetRange(LOCATION_MZONE, LOCATION_MZONE)
	e4:SetTarget(s.atktg)
	e4:SetValue(s.atkval)
	c:RegisterEffect(e4)
	local e5 = e4:Clone()
	e5:SetCode(EFFECT_SET_DEFENSE_FINAL)
	e5:SetValue(s.defval)
	c:RegisterEffect(e5)
end
function s.ttcon(e, c, minc)
	if c == nil then
		return true
	end
	return minc <= 3 and Duel.CheckTribute(c, 3)
end
function s.ttop(e, tp, eg, ep, ev, re, r, rp, c)
	local g = Duel.SelectTribute(tp, c, 3, 3)
	c:SetMaterial(g)
	Duel.Release(g, REASON_SUMMON + REASON_MATERIAL)
end
function s.atktg(e, c)
	return c ~= e:GetHandler()
end
function s.atkval(e, c)
	return math.ceil(c:GetAttack() / 2)
end
function s.defval(e, c)
	return math.ceil(c:GetDefense() / 2)
end


邪神ドレッド・ルート
このカードは特殊召喚できない。
自分フィールドのモンスター3体をリリースした場合のみ通常召喚できる。
1:このカードがモンスターゾーンに存在する限り、このカード以外のフィールドのモンスターの攻撃力・守備力は半分になる。
-- 邪神ドレッド・ルート
local s, id, o = GetID()
function s.initial_effect(c)
	--summon with 3 tribute
	local e1 = Effect.CreateEffect(c)
	e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE + EFFECT_FLAG_UNCOPYABLE)
	e1:SetType(EFFECT_TYPE_SINGLE)
	e1:SetCode(EFFECT_LIMIT_SUMMON_PROC)
	e1:SetCondition(s.ttcon)
	e1:SetOperation(s.ttop)
	e1:SetValue(SUMMON_TYPE_ADVANCE)
	c:RegisterEffect(e1)
	local e2 = e1:Clone()
	e2:SetCode(EFFECT_LIMIT_SET_PROC)
	c:RegisterEffect(e2)
	--cannot special summon
	local e3 = Effect.CreateEffect(c)
	e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE + EFFECT_FLAG_UNCOPYABLE)
	e3:SetType(EFFECT_TYPE_SINGLE)
	e3:SetCode(EFFECT_SPSUMMON_CONDITION)
	c:RegisterEffect(e3)
	--half atk
	local e4 = Effect.CreateEffect(c)
	e4:SetType(EFFECT_TYPE_FIELD)
	e4:SetCode(EFFECT_SET_ATTACK_FINAL)
	e4:SetRange(LOCATION_MZONE)
	e4:SetProperty(0, EFFECT_FLAG2_WICKED)
	e4:SetTargetRange(LOCATION_MZONE, LOCATION_MZONE)
	e4:SetTarget(s.atktg)
	e4:SetValue(s.atkval)
	c:RegisterEffect(e4)
	local e5 = e4:Clone()
	e5:SetCode(EFFECT_SET_DEFENSE_FINAL)
	e5:SetValue(s.defval)
	c:RegisterEffect(e5)
end
function s.ttcon(e, c, minc)
	if c == nil then
		return true
	end
	return minc <= 3 and Duel.CheckTribute(c, 3)
end
function s.ttop(e, tp, eg, ep, ev, re, r, rp, c)
	local g = Duel.SelectTribute(tp, c, 3, 3)
	c:SetMaterial(g)
	Duel.Release(g, REASON_SUMMON + REASON_MATERIAL)
end
function s.atktg(e, c)
	return c ~= e:GetHandler()
end
function s.atkval(e, c)
	return math.ceil(c:GetAttack() / 2)
end
function s.defval(e, c)
	return math.ceil(c:GetDefense() / 2)
end

