Skip to content

Draw Omen's Paranoia at its in-game size, 28 m by 9 m - #222

Merged
SunkenInTime merged 1 commit into
mainfrom
fix/paranoia-in-game-range
Sep 28, 2026
Merged

SunkenInTime merged 1 commit into
mainfrom
fix/paranoia-in-game-range

Conversation

@SunkenInTime

@SunkenInTime SunkenInTime commented Sep 28, 2026 •

Copy link
Copy Markdown
Owner

Players reported Omen's Paranoia comes up short compared to the game: MATRIX on Split B Heaven, Stazor on the Haven C retake from Garage. In game, the rectangle reaches Heaven's back wall. Icarus stopped about 3 m short.

Cause. We drew Paranoia at its patch-note travel distance, 25 m by 8.6 m. The rectangle the game shows on the minimap is bigger. I pulled Paranoia's assets from the 13.05 paks (Ability_Wraith_Q_NearsightMissile) and decompiled UpdateMinimapSize:

length = MaxDistance + Targeting Box Offset   // 2500 + 300 cm
size   = (length projected onto the ground, MinimapWidth = 900 cm)

So Riot draws 28 m by 9 m when aiming level. The projectile itself travels 25 m at 20 m/s with a 4.3 m hit radius; the extra 3 m roughly covers that radius. Map scale is not the cause: every map's scale is within about 1% of Riot's minimap multipliers (Haven draws 25 m as 24.9 m, Split as 25.1 m).

Change. Paranoia is now 28 m by 9 m, matching what players see in game.

Saved abilities store only agent and slot, so the new size applies to every saved Paranoia. Data version 104 keeps each saved Paranoia's Omen end where it was, and the far end grows 3 m. It covers attack and defense pages and lineups, leaves deleted flags alone, and does not touch strategies without a Paranoia (no lastEdited bump). No Hive fields or adapters changed.

The migrations for versions 39, 97 and 98 compute anchors from the ability's size. abilityDataBeforeVersion104 gives them the 25 m size they ran with, the same way mapScaleBeforeVersion98 handles Sunset, so old files are not corrected twice.

Before / after (Haven, Omen in Garage firing across C; the Omen end is fixed):

before

after

Tests

  • New test/paranoia_range_migration_test.dart: pins 28 m by 9 m and the old 25 m by 8.6 m; a v103 strategy keeps the Omen end on both sides and in a lineup, including a deleted Paranoia; the far end moves exactly 3 m; strategies without Paranoia keep identical pages and lastEdited; zip export and import doesn't shift it twice.
  • test/sunset_scale_migration_test.dart now builds the saved-data anchor from the pre-104 size. Its "other maps unchanged" case now calls the Sunset step directly, since the full chain now moves Paranoia on every map.
  • flutter analyze --no-fatal-infos clean; full flutter test --no-pub: 638 passed, 4 skipped.

Not covered

  • The 32.5 m to 25 m change in Oct 2025 (b44db08) had no migration, so Paranoias saved before it probably moved 7.5 m then. This PR doesn't try to undo that.
  • I read the 13.05 files. Live may be newer, but Paranoia hasn't changed since 11.08.
  • The web beta picks this up when main next merges into icarus-cloud.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Gameplay Data

    • Updated Omen’s Paranoia dimensions to 9 meters wide by 28 meters high.
  • Bug Fixes

    • Existing Paranoia placements are adjusted to align with the updated ability dimensions, preserving endpoints and other placement details across saved strategies and imported files.

RetriggerConfidence Score: 5/5

Safe to merge based on the reviewed changes.

What we checked:

  • Validated the v96 Sunset defense anchor alignment and the rendered v104 defense anchor, confirming the lineup landing matched and the migrated canonical near end key coordinates align within floating-point precision; all tests passed and no tracked code changes were observed. T-Rex
  • Measured the 13.170102-world-unit vertical drift in the v104 probe and verified the reconstructed pre-v104 near end matches the observed near end. T-Rex
  • Cross-version checks place the near end at (700.025205, 502.550367) in both v103 and v104, differing from the historical expectation (699.909948, 489.380265), and v104 updates the stored position to accommodate a larger shape without adding displacement. T-Rex

Summary

The PR updates Omen’s Paranoia indicator to 28 m by 9 m and adds a versioned migration for saved placements. No actionable issue was found.

Reviews (1) · Last reviewed commit: "Draw Omen's Paranoia at its in-game size..."

Players saw Paranoia stop about 3 m short of the game. We drew the
25 m patch-note travel distance; the game's minimap draws
MaxDistance + Targeting Box Offset (28 m) by MinimapWidth (9 m), per
the 13.05 Ability_Wraith_Q_NearsightMissile blueprint.

Data version 104 keeps each saved Paranoia's Omen end in place on both
sides and in lineups. Migrations 39, 97 and 98 reconstruct the old
25 m size so old files are not corrected twice.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Sep 28, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: bab58aca-b5b4-4ee0-b543-4126ef39ef04

📥 Commits

Reviewing files that changed from the base of the PR and between bf0a148 and 06407ec.

📒 Files selected for processing (9)
  • lib/const/agents.dart
  • lib/const/settings.dart
  • lib/migrations/ability_scale_migration.dart
  • lib/migrations/canonical_coordinates_migration.dart
  • lib/migrations/paranoia_range_migration.dart
  • lib/migrations/sunset_scale_migration.dart
  • lib/providers/strategy_provider.dart
  • test/paranoia_range_migration_test.dart
  • test/sunset_scale_migration_test.dart

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

Omen’s Paranoia dimensions change from 4.3 by 25 meters to 9 by 28 meters. A version-104 migration adjusts saved placements, and strategy migration applies it to current-version and legacy data.

Changes

Paranoia range migration

Layer / File(s) Summary
Define and migrate Paranoia placements
lib/const/agents.dart, lib/migrations/paranoia_range_migration.dart, test/paranoia_range_migration_test.dart
Paranoia’s dimensions change. The migration reconstructs the previous dimensions and adjusts placements in page ability data and lineup nodes. Tests cover placement preservation, idempotence, and ZIP round-trip stability.
Integrate migration with strategy updates
lib/const/settings.dart, lib/migrations/ability_scale_migration.dart, lib/migrations/canonical_coordinates_migration.dart, lib/migrations/sunset_scale_migration.dart, lib/providers/strategy_provider.dart, test/sunset_scale_migration_test.dart
The version increases to 104. Strategy migration applies the Paranoia migration after the Sunset scale migration. Existing migrations and tests use pre-version-104 ability data when calculating anchors.

Priority: ⬇️ Low

Estimated code review effort: 3 (Moderate) | ~20 minutes

Change: Bug fix

Sequence Diagram(s)

sequenceDiagram
  participant StrategyProvider
  participant SunsetScaleMigration
  participant ParanoiaRangeMigration
  participant AgentWeaponMigration
  StrategyProvider->>SunsetScaleMigration: migrate strategy
  SunsetScaleMigration-->>StrategyProvider: sunset-migrated strategy
  StrategyProvider->>ParanoiaRangeMigration: migrate Paranoia placements
  ParanoiaRangeMigration-->>StrategyProvider: Paranoia-migrated strategy
  StrategyProvider->>AgentWeaponMigration: migrate strategy
Loading

Merge Risk: ⚪ Minimal · up to 06407

Saved Paranoia placements retain their Omen-side endpoint while displaying the longer range. No identified issue prevents merging after normal checks.

Security Architecture Review

Security architecture risk: 🔵 Low · up to 06407

The observed migration is confined to saved strategy placements and has guards against reapplying during normal reloads. No new access-control or remote-service boundary is evident. Security coverage is incomplete, so the risk is low rather than minimal.

Retained concerns
No architecture-level concerns identified.

Security review details

Security Blast Radius

  • inferred — The observed exposure is saved and imported strategy content processed into local strategy storage. The changed transformation does not introduce a remote or privileged sink in the inspected paths.

Trust Boundaries and Controls

  • inferred — Imported content reaches the existing local persistence path, but the added migration adjusts placement coordinates without changing the strategy’s identity or folder assignment.

Resilience and Maintainability Implications

  • inferred — Version gating protects normal retries, but safety against an explicit repeated forced migration depends on callers honoring the original-version condition. Other consumers of the public helper were not established.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: rendering Omen's Paranoia at its updated in-game dimensions of 28 m by 9 m.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@SunkenInTime
SunkenInTime merged commit 5e79011 into main Sep 28, 2026
3 checks passed
@SunkenInTime
SunkenInTime deleted the fix/paranoia-in-game-range branch September 28, 2026 18:10
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