Skip to content

Comments

Dark Essence#287

Open
Valo56 wants to merge 2 commits intozunath:masterfrom
Valo56:DarkEssence
Open

Dark Essence#287
Valo56 wants to merge 2 commits intozunath:masterfrom
Valo56:DarkEssence

Conversation

@Valo56
Copy link
Contributor

@Valo56 Valo56 commented Dec 29, 2025

Necessary hak updates for new power "Dark Essence," a counterpart to Benevolence.

Summary by CodeRabbit

  • New Features
    • Added three Dark Essence feats (Tier I–III) for expanded combat options and progression
    • Added three Dark Essence spell effects with updated mechanics and behavior for each tier
    • Added display names and detailed descriptions for all new Dark Essence abilities and spells

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link

coderabbitai bot commented Dec 29, 2025

📝 Walkthrough

Walkthrough

Adds three-tier "Dark Essence" data across feat tables, spell definitions, and localization: new feat rows, updated spell effect entries for DarkEssence1–3, and six new TLK strings. No deletions of existing entries; changes are additive/replacements within data files.

Changes

Cohort / File(s) Change Summary
Feat system data
swlor2_2da/CLS_FEAT_FIGHT.2da, swlor2_2da/feat.2da
Added three feat rows: DarkEssence1, DarkEssence2, DarkEssence3 (indices 1997–1999), inserted after ZenMarksmanship; use ife_dkessence identifiers and match existing flag structure.
Spell definitions
swlor2_2da/spells.2da
Replaced/added entries for DarkEssence1DarkEssence3 (lines ~1017–1019) with new effect IDs (16872491–16872496) and updated effect parameters (impact scripts, durations, immunities, categories).
Localization (TLK)
swlor2_tlk/swlor2_tlk.tlk.json
Added six TLK strings (IDs 95275–95280): titles and descriptions for Dark Essence I/II/III.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Suggested reviewers

  • zunath

Poem

🐰 In shadowed rows my carrots hide,
Three essences hop in step beside,
Feats and spells and words now twine,
A rabbit cheers this little design,
Hop on—Dark Essence is your sign! ✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Dark Essence' is concise and directly matches the main change: adding three new Dark Essence power entries across multiple data files as a counterpart feature.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e23c123 and 6ccd02c.

📒 Files selected for processing (1)
  • swlor2_2da/spells.2da
🔇 Additional comments (2)
swlor2_2da/spells.2da (2)

1021-1023: LGTM! The copy-paste error has been fixed.

The spell names are now correctly set to DarkEssence1, DarkEssence2, and DarkEssence3, matching the PR objectives and following the consistent naming pattern used by similar entries like AdrenalStim1/2/3.


1021-1023: Verify TLK ID references match the added TLK entries.

The spell entries reference TLK IDs 16872491–16872496 (for names and descriptions), but according to the AI summary, the TLK file adds entries 95275–95280. If these IDs don't match, the spell names and descriptions won't display correctly in-game. Confirm that the referenced TLK IDs exist in the TLK file and contain the expected Dark Essence spell text.

Warning

Review ran into problems

🔥 Problems

Git: Failed to clone repository. Please run the @coderabbitai full review command to re-trigger a full review. If the issue persists, set path_filters to include or exclude specific files.


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 and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e5b98a3 and e23c123.

⛔ Files ignored due to path filters (1)
  • swlor2_tga/ife_dkessence.tga is excluded by !**/*.tga
📒 Files selected for processing (5)
  • swlor2_2da/CLS_FEAT_FIGHT.2da
  • swlor2_2da/feat.2da
  • swlor2_2da/spells.2da
  • swlor2_tlk/swlor2_tlk.tlk
  • swlor2_tlk/swlor2_tlk.tlk.json
🔇 Additional comments (2)
swlor2_2da/feat.2da (1)

2001-2003: Manual verification required: The original review comment cannot be verified without access to the repository code. A developer with direct access to the codebase should verify:

  1. The feat entries at lines 2001-2003 exist and match the described structure
  2. The icon file ife_dkessence is present in the hak resources
  3. All six TLK IDs (16872491-16872496) are properly defined in the TLK data
  4. The relationship between Dark Essence and Benevolence entries across feat.2da and spells.2da
swlor2_tlk/swlor2_tlk.tlk.json (1)

64992-65003: LGTM!

The name entries for the three Dark Essence tiers are correctly structured with sequential IDs and consistent naming.

Comment on lines +1219 to +1221
1214 DarkEssence1 1997 1 99 1
1214 DarkEssence2 1998 1 99 1
1214 DarkEssence3 1999 1 99 1 No newline at end of file
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

Duplicate row indices will break feat lookups.

All three new entries use row index 1214, which is already assigned to ZenMarksmanship on line 1218. In 2DA files, row indices must be unique—duplicate indices cause the game engine to only recognize one entry, leaving the others inaccessible.

🔎 Proposed fix: Use sequential row indices
-1214   DarkEssence1                                     1997        1      99               1   
-1214   DarkEssence2                                     1998        1      99               1   
-1214   DarkEssence3                                     1999        1      99               1   
+1215   DarkEssence1                                     1997        1      99               1   
+1216   DarkEssence2                                     1998        1      99               1   
+1217   DarkEssence3                                     1999        1      99               1   
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
1214 DarkEssence1 1997 1 99 1
1214 DarkEssence2 1998 1 99 1
1214 DarkEssence3 1999 1 99 1
1215 DarkEssence1 1997 1 99 1
1216 DarkEssence2 1998 1 99 1
1217 DarkEssence3 1999 1 99 1
🤖 Prompt for AI Agents
In swlor2_2da/CLS_FEAT_FIGHT.2da around lines 1219 to 1221 the three new entries
all use the duplicate row index 1214 which conflicts with the existing
ZenMarksmanship entry and will break feat lookups; update each of the three
DarkEssence entries to use unique, sequential unused row indices (for example
1219, 1220, 1221 or the next available indices after 1218), ensuring no two rows
share the same index and preserving the original column values for each entry.

Comment on lines +65004 to +65015
{
"id": 95278,
"text": "Dark Essence I Description"
},
{
"id": 95279,
"text": "Dark Essence II Description"
},
{
"id": 95280,
"text": "Dark Essence III Description"
},
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Replace placeholder text with actual ability descriptions.

The description entries contain literal placeholder strings ("Dark Essence I Description", etc.) instead of actual descriptions of what each tier does. These user-facing strings should explain the game mechanics, effects, and requirements for each Dark Essence tier.

💡 Example structure based on similar game abilities

Consider replacing with descriptive text such as:

     {
       "id": 95278,
-      "text": "Dark Essence I Description"
+      "text": "Channels dark side energy to enhance combat effectiveness. Grants +X to attack rolls and +Y damage for Z seconds."
     },

Committable suggestion skipped: line range outside the PR's diff.

🤖 Prompt for AI Agents
In swlor2_tlk/swlor2_tlk.tlk.json around lines 65004 to 65015 the entries use
placeholder strings like "Dark Essence I Description" rather than real
user-facing descriptions; replace each placeholder with a concise, player-facing
sentence or two that explains the ability’s mechanics, effects
(damage/heal/buff/debuff values or percent ranges), duration, cooldown,
range/targeting and any requirements or synergies; keep tone consistent with
existing abilities in the file, respect length limits for UI display, and ensure
grammar and punctuation are correct for localization pipelines.

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