is_skip_gacha_effect, use_challenge_two_pick_premium_card, and challenge_two_pick_sleeve_id all persist on ViewerInfo and round-trip through /load/index. The two challenge fields move from the global ChallengeConfig section to ViewerInfo — they're viewer preferences, not server-wide policy. Premium card defaults to 0; sleeve falls back to DefaultLoadoutConfig.SleeveId (3000011) when unset. MatchContextBuilder's TK2 sleeve read switches to the same viewer-scoped path. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
52 lines
1.5 KiB
C#
52 lines
1.5 KiB
C#
using Microsoft.EntityFrameworkCore.Migrations;
|
|
|
|
#nullable disable
|
|
|
|
namespace SVSim.Database.Migrations
|
|
{
|
|
/// <inheritdoc />
|
|
public partial class ConfigViewerOverrides : Migration
|
|
{
|
|
/// <inheritdoc />
|
|
protected override void Up(MigrationBuilder migrationBuilder)
|
|
{
|
|
migrationBuilder.AddColumn<long>(
|
|
name: "Info_ChallengeTwoPickSleeveId",
|
|
table: "Viewers",
|
|
type: "bigint",
|
|
nullable: false,
|
|
defaultValue: 0L);
|
|
|
|
migrationBuilder.AddColumn<bool>(
|
|
name: "Info_IsSkipGachaEffect",
|
|
table: "Viewers",
|
|
type: "boolean",
|
|
nullable: false,
|
|
defaultValue: false);
|
|
|
|
migrationBuilder.AddColumn<bool>(
|
|
name: "Info_UseChallengeTwoPickPremiumCard",
|
|
table: "Viewers",
|
|
type: "boolean",
|
|
nullable: false,
|
|
defaultValue: false);
|
|
}
|
|
|
|
/// <inheritdoc />
|
|
protected override void Down(MigrationBuilder migrationBuilder)
|
|
{
|
|
migrationBuilder.DropColumn(
|
|
name: "Info_ChallengeTwoPickSleeveId",
|
|
table: "Viewers");
|
|
|
|
migrationBuilder.DropColumn(
|
|
name: "Info_IsSkipGachaEffect",
|
|
table: "Viewers");
|
|
|
|
migrationBuilder.DropColumn(
|
|
name: "Info_UseChallengeTwoPickPremiumCard",
|
|
table: "Viewers");
|
|
}
|
|
}
|
|
}
|