From 48118efeebc398bd2b08176465e43cb182c13ea7 Mon Sep 17 00:00:00 2001 From: Branden J Brown Date: Tue, 28 Jul 2026 00:19:07 -0400 Subject: [PATCH] doc: document grand live mechanics --- doc/README.md | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/doc/README.md b/doc/README.md index 1939d0c..ad34135 100644 --- a/doc/README.md +++ b/doc/README.md @@ -15,6 +15,9 @@ This file is my notes from exploring the database. - 119 is scenario full titles (e.g. The Beginning: URA Finale), 120 is scenario descriptions, 237 is scenario names (e.g. URA Finale) - 130 is epithet names, 131 is epithet descriptions +in the decomp, text data categories are named in `public enum MasterString.Category`. +some categories seem to be missing, though. + # succession factor (sparks) tables are succession_factor and succession_factor_effect @@ -317,6 +320,37 @@ so, it doesn't seem like there's a particular flag that identifies maiden races, - card_talent_hint_upgrade has costs to raise hint levels, but it's actually universal, only six rows - single_mode_route_race is career goals (not only races) - available_skill_set has starting skills including those unlocked by potential level given under need_rank (0 for pl1, 2 for pl2) +- single_mode_special_chara is scenario links + +# gl + +single_mode_live_song_list has the song list for lives ha ha. +this is defined from the perspective of bonuses they grant when you have them, not the shop per se. +- text_data category for song names is 210, look up by live_id; for post-concert effect text, category 208 indexed by song list id +- command_id and live_id are always equal +- level is 1 for all songs except the two instances of girls' legend u +- master_bonus_content_text_id corresponds to text_data categories 207 for pickup effect text and 209 for song name +- live_bonus_type is 1 for specialty prio, 2 for chain frequency, 3 for fb +- girls' legend u is defined twice as ids 22 and 24 + +costs are in single_mode_live_square. +- square_type is 1 for stat up, 2 for skill up, 3 for energy up, 4 for live +- perf_type_n is token type: 1 for dance, 2 for passion, 3 for vocals, 4 for visuals, 5 for composure +- perf_value_n is number of tokens + +immediate bonuses are in single_mode_live_master_bonus. +- master_bonus_type is 1 for stat up, 2 for skill hint, 3 for energy up, 4 for song +- master_bonus_type_value is 1 for type 1, live id for type 4, 0 otherwise +- master_bonus_gain_type_n is 1 for stat, 2 for skill hint, 3 for energy, 5 for permanent training bonus + + 1 for stat: then master_bonus_gain_value_n_1 is 1-5 for stat id or 6 for sp, n_2 is 1 for fixed or 2 for random (not actually in the game), n_3 is lower bound on gain, n_4 is 0 for fixed or upper bound for random + + 2 for skill hint: then gain_value_n_1 is 3(*), n_2 is skill tag, n_3 is hint level + + 3 for energy: then gain_value_n_1 is amount + + 5 for permanent training bonus: then gain_value_n_1 is stat id (6 for sp), n_2 is amount +(*) MasterSingleModeLiveMasterBonus.SingleModeLiveMasterBonus.GainSkillHintTypeEnum defines values of Random = 1 and SkillId = 2, but they are unused in the db. + +there is some ostensibly unused data. +- master bonus ids 12001-12206 grant random amounts of stats +- id 20000 corresponds to "Group Lesson" "Skill hint appropriate for aptitude" # lobby conversations!!!