Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
af59a02
成就图像改为黑底,通过shader处理成alpha值为(R+G+B)/3的白色
MrZ626 May 3, 2026
b3b87b2
增加Artist Trinity失败音效和图标
MrZ626 May 3, 2026
3759897
重命名变量GAME.achv_resetCount为GAME.resetCount
MrZ626 May 3, 2026
73ed63c
整理一点代码
MrZ626 May 3, 2026
fbf1942
优化tower场景的scene.overDraw,少使用几个local变量
MrZ626 May 4, 2026
b2789e3
调整成就顺序,删除Fel Magic,新增Under the Radar
MrZ626 May 5, 2026
6c18a44
更新社区combo数据库
MrZ626 May 5, 2026
105e8f5
补充Under The Radar的开发者评论
MrZ626 May 5, 2026
5c9568d
修成就shader代码在安卓端爆炸
MrZ626 May 5, 2026
8aaac1e
# Change
MrZ626 May 5, 2026
26a5efd
修一处注释不正确
MrZ626 May 6, 2026
58ba085
每日成绩改为需要至少20pass才提交,节约一点联网请求数量
MrZ626 May 6, 2026
f75fb72
重命名ShortCut为CardHintText
MrZ626 May 6, 2026
4a31219
游戏结束时在-10m以下才会重置所有特殊效果
MrZ626 May 6, 2026
a5d6cd5
新增symbol字体,游戏中会显示使用的方块效果
MrZ626 May 6, 2026
3c91245
删除windup动画用的realDT,windup音效现在受加减速效果影响并和动画同步
MrZ626 May 6, 2026
698b192
修一个成就做一半撤销没撤干净
MrZ626 May 7, 2026
e2069a8
# Change
MrZ626 May 7, 2026
fbeb634
B10run中途会显示方块
MrZ626 May 7, 2026
f7aeded
优化特殊效果显示
MrZ626 May 7, 2026
61450bb
删除老版本解锁Duo的动画(条件不适用了)
MrZ626 May 8, 2026
6a0e015
修成就界面全钻石后没不显示不带花环的数量
MrZ626 May 8, 2026
88e975c
attempt to catch up
trevor-smithy May 8, 2026
eb97aaf
Merge remote-tracking branch 'upstream/main' into GameDataRework
trevor-smithy May 8, 2026
5566322
fix desync with windup
trevor-smithy May 8, 2026
c3e6e27
fix Easy button SFX
trevor-smithy May 8, 2026
ae63124
fix inconsistencies with double ultras
trevor-smithy May 8, 2026
32ef6db
fix biased and SFX playing on combo after
trevor-smithy May 9, 2026
2719aee
fix Bad Time bug
trevor-smithy May 9, 2026
59024ba
fix incorrect conditions to get easy mode clicker
trevor-smithy May 10, 2026
a8c343c
gigaplonk and stacker rebalance
trevor-smithy May 10, 2026
b926ee7
stacker rebalance, again
trevor-smithy May 11, 2026
d96c4d7
fix closer card not having its minimum of direct adjacency
trevor-smithy May 11, 2026
0195106
修EX rNH AS在错误提交时不解除burn
MrZ626 May 11, 2026
157198a
bug fixes, stacker, duo unlock
trevor-smithy May 11, 2026
06f03e3
Merge remote-tracking branch 'upstream/main' into GameDataRework
trevor-smithy May 11, 2026
bb08dd7
combo animation
trevor-smithy May 12, 2026
b445dbd
drag racing is silent if your too fast is submitted
trevor-smithy May 12, 2026
f8f3504
new buttons in ABOUT (part 1)
trevor-smithy May 12, 2026
3074e4c
fix link icons
trevor-smithy May 13, 2026
8e31902
dev commentaries
trevor-smithy May 13, 2026
89e3452
achv icons added
trevor-smithy May 14, 2026
bdb6fe0
rNH + Stacker rework
trevor-smithy May 15, 2026
d0edb32
rNH + eDP rework
trevor-smithy May 15, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added assets/Discord-Symbol-White.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/GitHub_Invertocat_White.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/achievements/achv_icons.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed assets/achievements/biggest_fan.png
Binary file not shown.
Binary file removed assets/achievements/perfectlybalanced.png
Binary file not shown.
Binary file removed assets/achievements/programmingsmithy.png
Binary file not shown.
Binary file removed assets/achievements/toofast.png
Binary file not shown.
Binary file removed assets/achievements/toolong.png
Binary file not shown.
Binary file added assets/badges/cardiac_arrest.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/symbols.otf
Binary file not shown.
203 changes: 113 additions & 90 deletions module/achv_data.lua → data/achievement.lua
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ end
---@field hide fun():boolean?

---@type Map<Achievement>
Achievements = {
local d = {
{ title = "General" },
{ -- contender
id = 'contender',
Expand Down Expand Up @@ -693,6 +693,16 @@ Achievements = {
scoreSimp = function(revive) return revive .. " Revives" end,
rank = numberRank(0, 3, 5, 8, 10, 12, 15),
},
{ -- the_responsible_one_plus
ex = true,
id = 'the_responsible_one_plus',
name = "The Responsible One+",
desc = [[Highest amount of revivals performed, multiplied by MP]],
quote = [["Is this going to be a recurring theme?"]],
credit = "@FCSplayz",
scoreSimp = function(rank) return floor(rank) .. " Revive·MP" end,
rank = numberRank(0, 16, 26, 36, 49, 64, 81),
},
{ -- the_unreliable_one
ex = true,
id = 'the_unreliable_one',
Expand All @@ -703,16 +713,6 @@ Achievements = {
rank = numberRank(0, 2, 3, 4, 5, 6, 8),
hide = function() return GAME.completion.DP == 0 end,
},
{ -- the_responsible_one_plus
ex = true,
id = 'the_responsible_one_plus',
name = "The Responsible One+",
desc = [[Highest amount of revivals performed, multiplied by MP]],
quote = [["Is this going to be a recurring theme?"]],
credit = "@FCSplayz",
scoreSimp = function(rank) return floor(rank) .. " Points" end,
rank = numberRank(0, 16, 26, 36, 49, 64, 81),
},
{ -- guardian_angel
id = 'guardian_angel',
name = "Guardian Angel",
Expand All @@ -730,14 +730,33 @@ Achievements = {
credit = "@obsidian",
rank = floorRank(1, 3, 5, 7, 9, 10, 2000),
},
{ -- level_19_cap
{ -- overprotection
ex = true,
id = 'level_19_cap',
name = "Level 19 Cap",
desc = [[HAR before first fatigue effect, with NH]],
quote = [[Another test of sustained speed and efficiency.]],
credit = "@Ponies",
rank = floorRank(1, 9, 10, 2000, 2400, 2600, 3500),
id = 'overprotection',
name = "Overprotection",
desc = [[HFD while keeping both players' HP above 10/15, with rDP]],
quote = [["Are you hurt? Did I hurt you?"]],
credit = "@obsidian",
rank = floorRank(1, 3, 5, 6, 7, 8, 9),
hide = function() return GAME.completion.DP == 0 end,
},
{ -- a_mutual_agreement
ex = true,
id = 'a_mutual_agreement',
name = "A Mutual Agreement",
desc = [[HFD with DH AS DP with every commit sharing at least 1 mod with the previous one]],
quote = [[Signed in writing, binding hearts and hands alike.]],
credit = "@FCSplayz",
rank = floorRank(1, 3, 5, 7, 9, 10, 2200),
},
{ -- the_cheaters
ex = true,
id = 'the_cheaters',
name = "The Cheaters",
desc = [[HFD with VL AS DP with commit not sharing any mod with the previous one]],
quote = [[Hearts broken from whom you stay with, to bond with another.]],
credit = "@Patrickmlg",
rank = floorRank(1, 3, 5, 6, 7, 8, 10),
},
{ -- the_escape_artist
id = 'the_escape_artist',
Expand All @@ -757,15 +776,14 @@ Achievements = {
rank = numberRank(0, 50, 100, 150, 200, 260, 420),
hide = function() return GAME.completion.AS == 0 end,
},
{ -- fel_magic
{ -- level_19_cap
ex = true,
id = 'fel_magic',
name = "Fel Magic",
desc = [[Quests passed with wounds triggered during GIGASPEED, with rAS]],
quote = [["And what, Gul'dan, must we give it return?"]],
scoreSimp = function(quest) return floor(quest) .. " Quests" end,
rank = numberRank(0, 6, 15, 26, 42, 62, 80),
hide = function() return GAME.completion.AS == 0 or STAT.totalGiga == 0 end,
id = 'level_19_cap',
name = "Level 19 Cap",
desc = [[HAR before first fatigue effect, with NH]],
quote = [[Another test of sustained speed and efficiency.]],
credit = "@Ponies",
rank = floorRank(1, 9, 10, 2000, 2400, 2600, 3500),
},
{ -- empurple
ex = true,
Expand All @@ -777,14 +795,27 @@ Achievements = {
rank = floorRank(1, 3, 5, 7, 9, 10, 1800),
hide = function() return GAME.completion.IN == 0 end,
},
{ -- patience_is_a_virtue
{ -- the_masterful_juggler
ex = true,
id = 'patience_is_a_virtue',
name = "Patience is a Virtue",
desc = [[HFD without manually committing]],
quote = [[Opportunities always favor those who are prepared and wait.]],
credit = "@The_111thBlitzer",
rank = floorRank(1, 3, 5, 7, 9, 10, 2000),
id = 'the_masterful_juggler',
name = "The Masterful Juggler",
desc = [[Highest Back-to-Back chain reached, with rMS rGV rIN]],
quote = [[A perfect jester, putting memory, speed and technique into entertainment...]],
credit = "@FMichael",
scoreSimp = function(b2b) return "B2B x" .. b2b end,
rank = numberRank(0, 10, 18, 26, 42, 62, 94),
hide = function() return GAME.completion.MS == 0 or GAME.completion.GV == 0 or GAME.completion.IN == 0 end,
},
{ -- clutch_main
ex = true,
id = 'clutch_main',
name = "Clutch Main",
desc = [[Quests passed while HP is critical, with NH rGV]],
quote = [[Your horses had better be held onto!]],
credit = "@GameTilDead",
scoreSimp = function(quest) return floor(quest) .. " Quests" end,
rank = numberRank(0, 26, 42, 62, 94, 126, 162),
hide = function() return GAME.completion.GV == 0 end,
},
{ -- spotless
ex = true,
Expand All @@ -796,44 +827,16 @@ Achievements = {
rank = floorRank(1, 3, 5, 7, 8, 9, 10),
hide = function() return GAME.completion.GV == 0 end,
},
{ -- a_mutual_agreement
ex = true,
id = 'a_mutual_agreement',
name = "A Mutual Agreement",
desc = [[HFD with DH AS DP with every commit sharing at least 1 mod with the previous one]],
quote = [[Signed in writing, binding hearts and hands alike.]],
credit = "@FCSplayz",
rank = floorRank(1, 3, 5, 7, 9, 10, 2200),
},
{ -- the_cheaters
ex = true,
id = 'the_cheaters',
name = "The Cheaters",
desc = [[HFD with VL AS DP with commit not sharing any mod with the previous one]],
quote = [[Hearts broken from whom you stay with, to bond with another.]],
credit = "@Patrickmlg",
rank = floorRank(1, 3, 5, 6, 7, 8, 10),
},
{ -- overprotection
{ -- autoplay_is_awesome
ex = true,
id = 'overprotection',
name = "Overprotection",
desc = [[HFD while keeping both players' HP above 10/15, with rDP]],
quote = [["Are you hurt? Did I hurt you?"]],
id = 'autoplay_is_awesome',
name = "Autoplay is Awesome",
desc = [[HFD without manually committing, with rNH MS rGV AS]],
quote = [["All the words, of a melody of rain. Resonating within ripples, Dreams of human remain."]],
credit = "@obsidian",
rank = floorRank(1, 3, 5, 6, 7, 8, 9),
hide = function() return GAME.completion.DP == 0 end,
},
{ -- clutch_main
ex = true,
id = 'clutch_main',
name = "Clutch Main",
desc = [[Quests passed while HP is critical, with NH rGV]],
quote = [[Your horses had better be held onto!]],
credit = "@GameTilDead",
scoreSimp = function(quest) return floor(quest) .. " Quests" end,
rank = numberRank(0, 26, 42, 62, 94, 126, 162),
hide = function() return GAME.completion.GV == 0 end,
rank = floorRank(1, 3, 5, 6, 7, 8, 1500),
hide = function() return GAME.completion.NH == 0 or GAME.completion.GV == 0 end,
realHide = TRUE
},
{ -- sunk_cost
ex = true,
Expand All @@ -852,17 +855,6 @@ Achievements = {
credit = "@Flowerling",
rank = floorRank(1, 3, 5, 7, 8, 9, 10),
},
{ -- the_masterful_juggler
ex = true,
id = 'the_masterful_juggler',
name = "The Masterful Juggler",
desc = [[Highest Back-to-Back chain reached, with rMS rGV rIN]],
quote = [[A perfect jester, putting memory, speed and technique into entertainment...]],
credit = "@FMichael",
scoreSimp = function(b2b) return "B2B x" .. b2b end,
rank = numberRank(0, 10, 18, 26, 42, 62, 94),
hide = function() return GAME.completion.MS == 0 or GAME.completion.GV == 0 or GAME.completion.IN == 0 end,
},
{ -- the_oblivious_artist
ex = true,
id = 'the_oblivious_artist',
Expand Down Expand Up @@ -895,6 +887,17 @@ Achievements = {
scoreSimp = function(kill) return kill .. " Entries" end,
rank = numberRank(0, 2, 3, 3, 4, 4, 5),
},
{ -- under_the_radar
ex = true,
id = 'under_the_radar',
name = "Under the Radar",
desc = [[Fastest time reaching F6 without entering GIGASPEED with VL IN AS]],
quote = [[A face, blended into the crowd of mediocrity.]],
comp = '<',
credit = "@flomikel",
scoreSimp = function(time) return string.format("%.2fs", time) end,
rank = numberRankRev(260, 180, 162, 142, 135, 126, 120),
},
{ -- arrogance
ex = true,
id = 'arrogance',
Expand Down Expand Up @@ -1479,6 +1482,16 @@ Achievements = {
hide = TRUE,
type = 'issued',
},
{ title = "Easy Mode Ex-Vanilla" },
{ -- patience_is_a_virtue
ex = true,
id = 'patience_is_a_virtue',
name = "Patience is a Virtue",
desc = [[HFD without manually committing]],
quote = [[Opportunities always favor those who are prepared and wait.]],
credit = "@The_111thBlitzer",
rank = floorRank(1, 3, 5, 7, 9, 10, 2000),
},
{ title = "Easy Mode (v1.0) (No CR)" },
{ -- Programmer & Pro Gamer
ex = true,
Expand Down Expand Up @@ -1840,7 +1853,7 @@ Achievements = {
--id = 'eDHEXeNH',
id = 'emperor_development',
name = "Emperor's Development",
desc = [[Highest rank achieved on 40 quests WUT "EXPERT Mode", "Moderate Hold" and "Salvation" mods]],
desc = [[Highest rank achieved on 40 quests WUT "EXPERT Mode", "Moderate Hold" and "Salvation" mods and NOT Stacker Mode]],
quote = [[Look at how much progress you've made in reforming your ways!]],
scoreSimp = function(rank) return string.format("Rank %.2f", rank) end,
rank = numberRank(9, 10, 11, 12, 13, 13.1, 13.2),
Expand All @@ -1850,7 +1863,7 @@ Achievements = {
--id = 'eEXeMS',
id = 'quest_feast',
name = "Quest Feast",
desc = [[Lowest altitude on 40 quests WUT "Easy Mode" and "Tidiness" mods]],
desc = [[Lowest altitude on 40 quests WUT "Easy Mode" and "Tidiness" mods and NOT Stacker Mode]],
quote = [[The delicate aromas of an all-you-can-eat buffet linger in the air.]],
comp = '<',
scoreSimp = function(roundHeight) return string.format("%.2fm", roundHeight) end,
Expand Down Expand Up @@ -2192,14 +2205,22 @@ Achievements = {
credit = "@TrevorSmithy",
type = 'issued',
},
{ -- gigaplonk
id = 'gigaplonk',
name = "Gigaplonk",
desc = [[Finish a run with GIGASPEED but less than 2.6 quests completed]],
quote = [["Normally this wouldn't count, but you did get GIGASPEED..."]],
credit = "@Taha",
type = 'issued',
hide = TRUE,
},
{ -- the_windup
id = 'the_windup',
name = "The Wind-Up",
desc = [[Experience the final windup animation]],
quote = [["WHY DO I HEAR BOSS MUSIC?!?!?"]],
credit = "@TrevorSmithy",
type = 'issued',
hide = TRUE,
},
{ -- im_gonna_be
id = 'im_gonna_be',
Expand All @@ -2220,22 +2241,22 @@ local compFunc = {
do
local i = 1
repeat
local achv = Achievements[i]
local achv = d[i]
if achv.title then
if i % 2 == 0 then
table.insert(Achievements, i, {})
table.insert(d, i, {})
i = i + 1
end
table.insert(Achievements, i + 1, {})
table.insert(d, i + 1, {})
end
i = i + 1
until i > #Achievements
until i > #d
end
for i = 1, #Achievements do
local achv = Achievements[i]
for i = 1, #d do
local achv = d[i]
local id = achv.id
if id then
Achievements[id] = achv
d[id] = achv

assert(type(id) == 'string', "Missing field 'name' - " .. id)
assert(type(achv.name) == 'string', "Missing field 'name' - " .. id)
Expand Down Expand Up @@ -2278,3 +2299,5 @@ for i = 1, #Achievements do
achv.hide = achv.hide or FALSE
achv.realHide = achv.realHide or FALSE
end

return d
Loading
Loading