@@ -91,6 +91,10 @@ local function get_questbook_formspec(selected_quest_index, player_name, quests_
9191 if not player_ref then return ' ' end
9292
9393 local selected_quest = quests_to_show [selected_quest_index ]
94+ local quest_count = # quests_to_show -- we subtract uncompletable quests from this later, like infotexts
95+ local completed_count = 0
96+ local available_count = 0
97+
9498 search_text = search_text or ' '
9599 local quest_list = {}
96100
@@ -110,11 +114,13 @@ local function get_questbook_formspec(selected_quest_index, player_name, quests_
110114 ins (default_indent )
111115 ins ' ✓'
112116 ins (quest .title )
117+ completed_count = completed_count + 1 -- WHY LUA WHY?!?!?!?
113118 elseif is_quest_available (player_name , quest .title ) then
114119 ins (pal .light1 )
115120 ins (default_indent )
116121 ins ' ►'
117122 ins (quest .title )
123+ available_count = available_count + 1
118124 else
119125 ins (pal .light4 )
120126 ins (default_indent )
@@ -131,16 +137,19 @@ local function get_questbook_formspec(selected_quest_index, player_name, quests_
131137 ins ' 0'
132138 ins ' ≡'
133139 ins (quest .title )
140+ quest_count = quest_count - 1
134141 elseif quest .type == ' secret' and is_achievement_unlocked (player_name , quest .title ) then
135142 ins (pal .bright_purple )
136143 ins (default_indent )
137144 ins ' ✪'
138145 ins (quest .title )
146+ completed_count = completed_count + 1 -- WHY LUA WHY?!?!?!?
139147 elseif quest .type == ' secret' and is_achievement_unlocked (player_name , quest .title ) == false then
140148 ins (pal .bright_purple )
141149 ins (default_indent )
142150 ins ' ✪'
143151 ins ' ???'
152+ available_count = available_count + 1
144153 end
145154 end
146155 --- @diagnostic disable-next-line : cast-local-type
@@ -168,7 +177,7 @@ local function get_questbook_formspec(selected_quest_index, player_name, quests_
168177 tooltip[font_add;Makes font larger]
169178 tooltip[font_sub;Makes font smaller]
170179]] ):format (
171- sbz_api .ui .hypertext (0.3 , 0.25 , 5.6 , 0.5 , ' ' , ' Quest List' ),
180+ sbz_api .ui .hypertext (0.3 , 0.25 , 5.6 , 0.5 , ' ' , " Quest List (✓ " .. completed_count .. " / ► " .. available_count .. " / ✕ " .. ( quest_count - completed_count ) .. " ) " ),
172181 sbz_api .ui .box_shadow (0.2 , 0.7 , 5.6 , 11.3 , 2 ),
173182 table_style ,
174183 quest_list ,
0 commit comments