Skip to content

feat(astronomy): astral stargazing, constellation alignments, and lunar blessings engine - #210

Open
angelTomo9 wants to merge 2 commits into
Bitcoindefi:mainfrom
angelTomo9:feat-astronomy-stargazing-1787893269981
Open

feat(astronomy): astral stargazing, constellation alignments, and lunar blessings engine#210
angelTomo9 wants to merge 2 commits into
Bitcoindefi:mainfrom
angelTomo9:feat-astronomy-stargazing-1787893269981

Conversation

@angelTomo9

Copy link
Copy Markdown

Summary

Implements an astral stargazing, sky quadrant telescope mapping, constellation alignment, and lunar resonance blessings engine for OpenAO MMORPG.

Features

  • Constellation catalog (The Dragon, The Phoenix, The Titan, The Void Weaver)
  • Sky quadrant telescope observation mechanics (North, South, East, West)
  • Lunar phase multipliers (New Moon 1.0x up to Full Moon 2.0x)
  • Astrological combat blessings with stat scaling
  • Full unit test coverage under Vitest

Comment thread api/src/lib/astronomyConstellationStargazing.ts Outdated
@gitar-bot

gitar-bot Bot commented Aug 28, 2026

Copy link
Copy Markdown
Code Review ✅ Approved 1 resolved / 1 findings

Astral stargazing and lunar blessings engine for OpenAO MMORPG with constellation catalog, sky quadrant telescope mechanics, and astrological combat blessings. Session and blessing IDs now use collision-resistant UUIDs instead of Math.random(). Full unit test coverage included.

✅ 1 resolved
Bug: Session/blessing IDs rely on Math.random and can collide

📄 api/src/lib/astronomyConstellationStargazing.ts:66 📄 api/src/lib/astronomyConstellationStargazing.ts:122
Both sessionId and blessingId are built from currentEpochMs plus a 5-char Math.random().toString(36) suffix. In a multiplayer server, two sessions started in the same millisecond have only ~60M random combinations, so collisions are plausible under load and could cause distinct sessions/blessings to share an ID. Use a stronger unique source such as crypto.randomUUID() for these identifiers.

Options

Auto-apply is off → Gitar will not commit updates to this branch.
Display: compact → Showing less information.

Comment with these commands to change the behavior for this request:

Auto-apply Compact
gitar auto-apply:on         
gitar display:verbose         

Important

Your trial ends in 4 days — upgrade now to keep code review, CI analysis, auto-apply, custom automations, and more.

Was this helpful? React with 👍 / 👎 | Gitar

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