Skip to content

P36.1#11

Merged
Sellafield merged 151 commits into
developfrom
p36.1
May 23, 2026
Merged

P36.1#11
Sellafield merged 151 commits into
developfrom
p36.1

Conversation

@Sellafield
Copy link
Copy Markdown
Contributor

No description provided.

Sellafield and others added 30 commits May 16, 2026 09:17
…ard announcements

IMPROVEMENT-011: FleeAI.Update now re-applies CurrentSpeed=0.75 after each movement
update, preventing WaypointMovement.Start from resetting it to 1.0 each waypoint tick.

ISSUE-003: RecordActivity guards training characters (IsInTraining) at the service
boundary; ProcessSeasonEnd and AnnounceLeaderboard filter them from rankings so
training chars accumulate no points, appear on no leaderboards, and receive no rewards.

ISSUE-002: AnnounceLeaderboard fixes stale IsActive check (cached Season object stays
IsActive=true after admin deactivation) by guarding on season==null and
UtcNow>season.EndTime instead; also skips meaningless empty-ranking announcements.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…RecordActivity

Eliminates 2 synchronous DB round trips per combat hit when no rate is
configured for the activity type (e.g. DamageDone/DamageReceived). Fixes ISSUE-005.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ilders for recurrence fields

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds docs/content/claude_game_content_guide.md as the authoritative
procedural reference for SQL content pipelines (items, robots, effects,
tech trees). Updates CLAUDE.md with a Game Content Creation section that
directs Claude to consult the guide and enforces key rules: dynamic ID
resolution, dependency order, idempotent SQL patterns, full-chain
generation, and validation checklist compliance.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sellafield and others added 28 commits May 19, 2026 16:27
…ository and change scripts

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…plan

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add DailyObjectivesPerDay property to Season model
- Update GetActiveSeason, GetSeasonById, GetPendingRecurringSeason to fetch and populate DailyObjectivesPerDay
- Update CloneSeasonForNextIteration to insert and clone DailyObjectivesPerDay
- All queries and object initializers updated to handle the new daily_objectives_per_day column

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…cement

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…re save

Prevents an admin entering 0 or a negative value from silently emptying
the daily pool (which would block all daily objective progress with no
user feedback). Values <= 0 are treated as NULL (all objectives active).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… load

TargetDisplayName was computed in OnTargetDefinitionIdChanged, but
AvailableMaterials was still empty when TargetDefinitionId was set from
the DB during object initialization. RefreshAvailableMaterials now
recomputes TargetDisplayName after populating AvailableMaterials.

Also fixes FallbackValue -> TargetNullValue on the Target Material
TextBlock so the (any) hint correctly appears for un-targeted objectives.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…-016)

'yyyy-MM-dd HH:mm:ss' (space separator) is locale/DATEFORMAT-sensitive
in SQL Server's implicit varchar->datetime conversion. Changing to
'yyyy-MM-ddTHH:mm:ss' (T separator) is always accepted regardless of
collation or DATEFORMAT setting, eliminating the cast error when saving
the Daily Objectives Per Day field via Save General.

Applies to SeasonChanges BuildInsert/BuildUpdate and SeasonWizardViewModel
BuildSeasonScript. Also gitignores Visual Studio WPF designer temp files
(*_wpftmp.csproj) and carries forward a staged schema doc fix for
target_definition_id on season_objectives.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ountId

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ix InvalidCastException on daily_objectives_per_day

ISSUE-017: ActivityTypeOptions and ObjectiveActivityTypeOptions were hardcoded lists of 9 types; SeasonActivityType has 21. Added the 12 Phase 1/2 types to both SeasonDetailViewModel and SeasonWizardViewModel.

ISSUE-018: GetValue<int?> on a smallint [null] column fails because the CLR cannot unbox a boxed Int16 as Nullable<Int32>. Fixed all three season-loading methods in SeasonRepository to read as short? then widen to int?.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…es win-x64 assets

RuntimeIdentifier was Release-only, so the default-config restore pass never wrote
the net8.0-windows/win-x64 target into project.assets.json, causing NETSDK1047 on
the subsequent --no-restore Release build. Adding the plural RuntimeIdentifiers
unconditionally fixes restore without changing build behaviour. Closes ISSUE-019.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@Sellafield Sellafield merged commit 3d5bb2a into develop May 23, 2026
2 checks passed
@Sellafield Sellafield deleted the p36.1 branch May 23, 2026 10:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant