mirror of
https://github.com/prosolis/gogobee.git
synced 2026-07-15 08:32:41 +00:00
Adv 2.0 L5 close-out: loader rewire + adventure_characters purge gate
Rewires loadAdvCharacter / createAdvCharacter to source from player_meta, drops every legacy-table fallback in the loadXxxState helpers, and adds a GOGOBEE_LEGACY_PURGE=1 gate to drop the now-cold adventure_characters table. Schema CREATE removed and column migrations tolerate the missing table so the purge stays sticky across reboots. §7.4 of the migration plan is reconciled to document that player_meta.combat_level stays — combat_stats.go consumes it via the overlay and is shared infrastructure, not legacy. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -783,7 +783,7 @@ func (p *AchievementsPlugin) buildAchievements() []achievementDef {
|
||||
Check: func(d *sql.DB, u id.UserID) bool {
|
||||
var streak int
|
||||
err := d.QueryRow(
|
||||
`SELECT best_streak FROM adventure_characters WHERE user_id = ?`,
|
||||
`SELECT best_streak FROM player_meta WHERE user_id = ?`,
|
||||
string(u),
|
||||
).Scan(&streak)
|
||||
return err == nil && streak >= 7
|
||||
@@ -795,7 +795,7 @@ func (p *AchievementsPlugin) buildAchievements() []achievementDef {
|
||||
Check: func(d *sql.DB, u id.UserID) bool {
|
||||
var streak int
|
||||
err := d.QueryRow(
|
||||
`SELECT best_streak FROM adventure_characters WHERE user_id = ?`,
|
||||
`SELECT best_streak FROM player_meta WHERE user_id = ?`,
|
||||
string(u),
|
||||
).Scan(&streak)
|
||||
return err == nil && streak >= 30
|
||||
@@ -1023,7 +1023,7 @@ func (p *AchievementsPlugin) buildAchievements() []achievementDef {
|
||||
Emoji: "🏃",
|
||||
Check: func(d *sql.DB, u id.UserID) bool {
|
||||
var streak int
|
||||
_ = d.QueryRow(`SELECT best_streak FROM adventure_characters WHERE user_id = ?`, string(u)).Scan(&streak)
|
||||
_ = d.QueryRow(`SELECT best_streak FROM player_meta WHERE user_id = ?`, string(u)).Scan(&streak)
|
||||
return streak >= 7
|
||||
},
|
||||
},
|
||||
@@ -1032,7 +1032,7 @@ func (p *AchievementsPlugin) buildAchievements() []achievementDef {
|
||||
Emoji: "🔥",
|
||||
Check: func(d *sql.DB, u id.UserID) bool {
|
||||
var streak int
|
||||
_ = d.QueryRow(`SELECT best_streak FROM adventure_characters WHERE user_id = ?`, string(u)).Scan(&streak)
|
||||
_ = d.QueryRow(`SELECT best_streak FROM player_meta WHERE user_id = ?`, string(u)).Scan(&streak)
|
||||
return streak >= 60
|
||||
},
|
||||
},
|
||||
@@ -1041,7 +1041,7 @@ func (p *AchievementsPlugin) buildAchievements() []achievementDef {
|
||||
Emoji: "💯",
|
||||
Check: func(d *sql.DB, u id.UserID) bool {
|
||||
var streak int
|
||||
_ = d.QueryRow(`SELECT best_streak FROM adventure_characters WHERE user_id = ?`, string(u)).Scan(&streak)
|
||||
_ = d.QueryRow(`SELECT best_streak FROM player_meta WHERE user_id = ?`, string(u)).Scan(&streak)
|
||||
return streak >= 100
|
||||
},
|
||||
},
|
||||
@@ -1067,7 +1067,7 @@ func (p *AchievementsPlugin) buildAchievements() []achievementDef {
|
||||
Emoji: "🔄",
|
||||
Check: func(d *sql.DB, u id.UserID) bool {
|
||||
var current, best, decayed int
|
||||
err := d.QueryRow(`SELECT current_streak, best_streak, streak_decayed FROM adventure_characters WHERE user_id = ?`, string(u)).Scan(¤t, &best, &decayed)
|
||||
err := d.QueryRow(`SELECT current_streak, best_streak, streak_decayed FROM player_meta WHERE user_id = ?`, string(u)).Scan(¤t, &best, &decayed)
|
||||
return err == nil && current >= 14 && decayed > 0
|
||||
},
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user