Skip to content

Introduce the recently added weapon Moonweaver's Dawn - #427

Merged
sdglitched merged 1 commit into
mainfrom
mwdn
Sep 13, 2025
Merged

sdglitched merged 1 commit into
mainfrom
mwdn

Conversation

@gridhead

@gridhead gridhead commented Sep 12, 2025 •

Copy link
Copy Markdown
Owner

Introduce the recently added weapon Moonweaver's Dawn

Fixes #426

Summary by Sourcery

Introduce the new Moonweaver's Dawn sword weapon by defining its data model, registering it in the weapons list, and adding corresponding tests

New Features:

  • Add Moonweaver's Dawn sword class with its stats, tier, rarity, and refinement details
  • Register Moonweaver's Dawn in the swords mapping

Tests:

  • Add unit test entry for Moonweaver's Dawn in data/weap/test_sword.py
  • Add weapon configuration test for Moonweaver's Dawn in face/wind/weap/kind/test_sword.py

@gridhead gridhead added this to the Luna I milestone Sep 12, 2025
@gridhead
gridhead requested a review from sdglitched September 12, 2025 17:27
@gridhead gridhead self-assigned this Sep 12, 2025
@gridhead gridhead added the enhancement New feature or request label Sep 12, 2025
@sourcery-ai

sourcery-ai Bot commented Sep 12, 2025 •

Copy link
Copy Markdown

Reviewer's Guide

Introduces the new Moonweaver's Dawn sword by adding its implementation, registering it in the swords module, and updating relevant tests to include it.

Entity relationship diagram for sword registration including Moonweaver's Dawn

erDiagram
    SWORD_REGISTRY {
        string name
        Sword class_ref
    }
    MoonweaversDawn {
        string name
        WeaponStat seco_stat
        Tier tier
        Rare rare
        string refi_name
        list refi_list
        string file
    }
    SWORD_REGISTRY ||--|{ MoonweaversDawn : contains
Loading

Class diagram for the new Moonweaver's Dawn sword

classDiagram
    class Sword
    class MoonweaversDawn {
        +name: str = "Moonweaver's Dawn"
        +seco_stat: WeaponStat
        +tier: Tier
        +rare: Rare
        +refi_name: str = "Secret Silver's Testament"
        +refi_list: list[str]
        +file: str = "mwdn"
    }
    Sword <|-- MoonweaversDawn
    class WeaponStat
    class WeaponStatType
    class Tier
    class Rare
    MoonweaversDawn --> WeaponStat
    MoonweaversDawn --> Tier
    MoonweaversDawn --> Rare
    WeaponStat --> WeaponStatType
Loading

File-Level Changes

Change Details Files
Implemented the Moonweaver's Dawn weapon class
  • Created MoonweaversDawn class inheriting from Sword
  • Defined secondary stat, rarity, tier, and refine effect descriptions
gi_loadouts/data/weap/swords/mwdn.py
Registered the new weapon in the swords registry
  • Imported mwdn module
  • Added entry for "Moonweaver's Dawn" to the sword mapping
gi_loadouts/data/weap/swords/__init__.py
Updated data-layer sword tests to include the new weapon
  • Added pytest.param for Moonweaver's Dawn in test_sword.py
test/data/weap/test_sword.py
Updated face/wind rule sword tests to include the new weapon
  • Added pytest.param for Moonweaver's Dawn in face/wind rule tests
test/face/wind/weap/kind/test_sword.py

Assessment against linked issues

Issue Objective Addressed Explanation
#426 Add the weapon 'Moonweaver's Dawn' to the GI Loadouts roster, including its stats, refinement effects, and tier/rarity information. βœ…
#426 Ensure 'Moonweaver's Dawn' is properly registered and accessible in the sword weapon list and mapping. βœ…
#426 Add or update tests to include 'Moonweaver's Dawn' in relevant sword weapon test cases. βœ…

Possibly linked issues


Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@gridhead

Copy link
Copy Markdown
Owner Author

/gemini review

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces the new weapon Moonweaver's Dawn by adding its data model, registering it, and including corresponding tests. The changes are well-structured and follow the existing patterns in the codebase. I've found one area for improvement regarding code readability in the new weapon's data file, where long strings can be broken up for better maintainability.

Comment on lines +12 to +18
refi_list: list[str] = [
"Increases Elemental Burst DMG by 20%. When the character's Energy Capacity does not exceed 60, Elemental Burst DMG increases by an additional 16%. When the character's Energy Capacity does not exceed 40, Elemental Burst DMG increases by an additional 28%.",
"Increases Elemental Burst DMG by 25%. When the character's Energy Capacity does not exceed 60, Elemental Burst DMG increases by an additional 20%. When the character's Energy Capacity does not exceed 40, Elemental Burst DMG increases by an additional 35%.",
"Increases Elemental Burst DMG by 30%. When the character's Energy Capacity does not exceed 60, Elemental Burst DMG increases by an additional 24%. When the character's Energy Capacity does not exceed 40, Elemental Burst DMG increases by an additional 42%.",
"Increases Elemental Burst DMG by 35%. When the character's Energy Capacity does not exceed 60, Elemental Burst DMG increases by an additional 28%. When the character's Energy Capacity does not exceed 40, Elemental Burst DMG increases by an additional 49%.",
"Increases Elemental Burst DMG by 40%. When the character's Energy Capacity does not exceed 60, Elemental Burst DMG increases by an additional 32%. When the character's Energy Capacity does not exceed 40, Elemental Burst DMG increases by an additional 56%."
]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The strings in refi_list are very long, which harms readability. For better maintainability, you can split them across multiple lines. Python automatically concatenates adjacent string literals.

    refi_list: list[str] = [
        (
            "Increases Elemental Burst DMG by 20%. When the character's Energy Capacity does not exceed 60, "
            "Elemental Burst DMG increases by an additional 16%. When the character's Energy Capacity does not "
            "exceed 40, Elemental Burst DMG increases by an additional 28%."
        ),
        (
            "Increases Elemental Burst DMG by 25%. When the character's Energy Capacity does not exceed 60, "
            "Elemental Burst DMG increases by an additional 20%. When the character's Energy Capacity does not "
            "exceed 40, Elemental Burst DMG increases by an additional 35%."
        ),
        (
            "Increases Elemental Burst DMG by 30%. When the character's Energy Capacity does not exceed 60, "
            "Elemental Burst DMG increases by an additional 24%. When the character's Energy Capacity does not "
            "exceed 40, Elemental Burst DMG increases by an additional 42%."
        ),
        (
            "Increases Elemental Burst DMG by 35%. When the character's Energy Capacity does not exceed 60, "
            "Elemental Burst DMG increases by an additional 28%. When the character's Energy Capacity does not "
            "exceed 40, Elemental Burst DMG increases by an additional 49%."
        ),
        (
            "Increases Elemental Burst DMG by 40%. When the character's Energy Capacity does not exceed 60, "
            "Elemental Burst DMG increases by an additional 32%. When the character's Energy Capacity does not "
            "exceed 40, Elemental Burst DMG increases by an additional 56%."
        ),
    ]

@gridhead
gridhead marked this pull request as ready for review September 13, 2025 08:41

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry @gridhead, you have reached your weekly rate limit of 500000 diff characters.

Please try again later or upgrade to continue using Sourcery

@sdglitched sdglitched left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please resolve the merge conflict.

@sdglitched sdglitched assigned sdglitched and unassigned gridhead Sep 13, 2025
Co-authored-by: Akashdeep Dhar <akashdeep.dhar@gmail.com>
Co-authored-by: Claude Code <noreply@anthropic.com>

@sdglitched sdglitched left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM πŸš€

Thanks for working on this 😜

@sdglitched
sdglitched merged commit 074e9e0 into main Sep 13, 2025
@gridhead
gridhead deleted the mwdn branch October 5, 2025 14:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add the recently added weapon Moonweaver's Dawn to the GI Loadouts roster

2 participants