Mythic Quality


End game mod to add higher tiers of quality for those who love the grind and want to push production to its limits.

Tweaks
1 year, 5 months ago
2.0
2.21K
Logistics Armor Manufacturing Power Cheats

g Update 2.1 also fixes an issue:

7 days ago

Update 2.1 also fixes an issue:

Previously, even if the startup settings were configured to enable only two quality tiers, the third tier would still load. This was inconvenient because using the hotkey/scroll wheel would cycle to the "Singularity" quality; if it isn't enabled, it shouldn't be loaded into the game at all.

You can implement this fix in prototypes/mythicquality.lua using the following code:

local mythicOdds = settings.startup["tb-mq-mythic-odds"].value
local celestialOdds = settings.startup["tb-mq-celestial-odds"].value
local singularityOdds = settings.startup["tb-mq-singularity-odds"].value
local singularityEnabled = settings.startup["tb-mq-singularity-enabled"].value

data.raw.quality.legendary.next_probability = mythicOdds
data.raw.quality.legendary.next = "tb-mq-mythic"

-- 1. 先构建基础的神话和星体品质
local qualities_to_add = {
{
type = "quality",
name = "tb-mq-mythic",
level = 8,
color = { 100, 90, 0 },
order = "f",
next = "tb-mq-celestial",
next_probability = celestialOdds,
subgroup = "qualities",
icon = "MythicQuality/graphics/icons/quality-mythic.png",
beacon_power_usage_multiplier = 1 / 12,
mining_drill_resource_drain_multiplier = 1 / 12,
science_pack_drain_multiplier = 92 / 100,
},
{
type = "quality",
name = "tb-mq-celestial",
level = 12,
color = { 0, 100, 98 },
order = "g",
-- 如果禁用了奇点,这里就不应该有 next 和 next_probability
subgroup = "qualities",
icon = "MythicQuality/graphics/icons/quality-celestial.png",
beacon_power_usage_multiplier = 1 / 24,
mining_drill_resource_drain_multiplier = 1 / 24,
science_pack_drain_multiplier = 88 / 100,
}
}

-- 2. 根据设置决定是否将奇点品质接入系统
if singularityEnabled then
qualities_to_add[2].next = "tb-mq-singularity"
qualities_to_add[2].next_probability = singularityOdds

table.insert(qualities_to_add, {
    type = "quality",
    name = "tb-mq-singularity",
    level = 17,
    color = { 156, 156, 156 },
    order = "h",
    subgroup = "qualities",
    icon = "__MythicQuality__/graphics/icons/quality-singularity.png",
    beacon_power_usage_multiplier = 1 / 48,
    mining_drill_resource_drain_multiplier = 1 / 48,
    science_pack_drain_multiplier = 75 / 100,
})

end

-- 将构建好的表注册到游戏中
data:extend(qualities_to_add)

local scale = settings.startup["tb-mq-scale-factor"].value

-- 3. 在修改 level 时,增加对奇点品质是否存在的安全检查
if scale == "linear" then
data.raw.quality["tb-mq-mythic"].level = 8
data.raw.quality["tb-mq-celestial"].level = 10
if singularityEnabled then data.raw.quality["tb-mq-singularity"].level = 12 end
elseif scale == "normal" then
data.raw.quality["tb-mq-mythic"].level = 8
data.raw.quality["tb-mq-celestial"].level = 12
if singularityEnabled then data.raw.quality["tb-mq-singularity"].level = 16 end
elseif scale == "high" then
data.raw.quality["tb-mq-mythic"].level = 9
data.raw.quality["tb-mq-celestial"].level = 13
if singularityEnabled then data.raw.quality["tb-mq-singularity"].level = 19 end
elseif scale == "higher" then
data.raw.quality["tb-mq-mythic"].level = 10
data.raw.quality["tb-mq-celestial"].level = 15
if singularityEnabled then data.raw.quality["tb-mq-singularity"].level = 21 end
elseif scale == "extreme" then
data.raw.quality["tb-mq-mythic"].level = 10
data.raw.quality["tb-mq-celestial"].level = 18
if singularityEnabled then data.raw.quality["tb-mq-singularity"].level = 30 end
end

New response