Skip to content

fix: plasma pistol ammo bug#1056

Closed
Werwolf-12 wants to merge 8 commits intoAdeptus-Dominus:mainfrom
Werwolf-12:ContemptorImp
Closed

fix: plasma pistol ammo bug#1056
Werwolf-12 wants to merge 8 commits intoAdeptus-Dominus:mainfrom
Werwolf-12:ContemptorImp

Conversation

@Werwolf-12
Copy link
Contributor

Purpose and Description

  • Self-descriptive.

Testing done

  • None, and I understand the risks.

Related things and/or additional context

Werwolf-12 and others added 7 commits October 3, 2025 23:12
@github-actions github-actions bot added Area: Sprites Changes to sprites/images or their under-the-hood functionality Size: Medium labels Nov 11, 2025
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 11, 2025

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

📝 Walkthrough

Summary by CodeRabbit

Release Notes

  • New Features

    • Added Heavy Conversion Beamer and Kheres Assault Cannon as new dreadnought weapons
    • New Damaged Dreadnought loot reward type
    • Heavy Conversion Beamer and Kheres Assault Cannon now available in equipment shop
  • Balance Changes

    • Increased Plasma Pistol ammunition capacity
  • Visual Updates

    • Updated weapon appearance assets
    • Improved Twin-linked Volkite Culverins visual rendering

Walkthrough

This transmission inscribes the integration of ancient Dreadnought weaponry into the Chapter's armoury. Two Contemptor-pattern weapon sprites are archived; the Volkite Culverin reference undergoes nomenclature reformation. Weapon data structures, visual mappings, and commerce inventories are accordingly expanded to manifest these new implements of war.

Changes

Cohort / File(s) Summary
Project Manifest
ChapterMaster.yyp
Added IDEVersion metadata property; registered two new sprite resources (spr_Contemptor_assault_cannon, spr_Contemptor_Conversion_Beamer); retired obsolete spr_twl_Volkite_Culverins reference; introduced replacement spr_Volkite_Culverins entry.
Weapon Sprite Assets
sprites/spr_Contemptor_assault_cannon/spr_Contemptor_assault_cannon.yy, sprites/spr_Contemptor_Conversion_Beamer/spr_Contemptor_Conversion_Beamer.yy, sprites/spr_Volkite_Culverins/spr_Volkite_Culverins.yy
Added two new Contemptor dreadnought weapon sprite definitions (306×250 dimensions, origin-adjusted frames); migrated legacy spr_twl_Volkite_Culverins identifier to spr_Volkite_Culverins throughout all reference paths.
Equipment Procurement
objects/obj_shop/Create_0.gml
Appended two items to merchant inventory: "Heavy Conversion Beamer" and "Kheres Assault Cannon" with null costs and unavailable status (nobuy flag).
Weapon Data Systems
scripts/scr_weapon/scr_weapon.gml
Inscribed two new weapon entries (Kheres Assault Cannon, Heavy Conversion Beamer) with full stat arrays; updated Plasma Pistol ammunition capacity (0 → 16); refined Twin-linked Volkite Culverins descriptive text.
Visual Manifestation
scripts/scr_culture_visuals/scr_culture_visuals.gml, scripts/scr_ui_display_weapons/scr_ui_display_weapons.gml
Updated weapon visual data mappings to utilise corrected spr_Volkite_Culverins sprite reference; registered visual parameters for Heavy Conversion Beamer and Kheres Assault Cannon (dreadnought body type 3, corresponding sprite references).
Salvage Protocols
scripts/scr_ruins_reward/scr_ruins_reward.gml
Established new acquisition branch for ruins_type 7 (Damaged Dreadnought), provisioning Contemptor chassis and accompanying weapon loadouts.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

  • Examination of weapon stat arrays in scr_weapon.gml for correctness and consistency
  • Verification of sprite reference integrity across visual systems (scr_culture_visuals.gml, scr_ui_display_weapons.gml)
  • Validation of ruins reward logic branching for Damaged Dreadnought loot distribution

Possibly related PRs

Suggested labels

Type: Fix, PR: Sprites, Area: Sprites, Size: Medium

Suggested reviewers

  • OH296
  • Blogaugis

The archives have been consulted, Tech-Priest. Proceed with verification of these engravings upon the Chapter's sacred roster.

Pre-merge checks

❌ Failed checks (2 warnings)
Check name Status Explanation Resolution
Title check ⚠️ Warning The pull request title 'fix: plasma pistol ammo bug' follows the conventional commits format with type and summary, but the changeset contains extensive additions beyond a singular ammo bug fix, including new weapons, sprites, and shop items. Revise the title to accurately reflect the full scope of changes, such as 'feat: add Contemptor weapons and update visual assets' or provide a more comprehensive summary of all modifications.
Description check ⚠️ Warning The pull request description retains the template structure but fails to provide substantive content—the author merely states 'Self-descriptive' without explaining the purpose, scope, or rationale for the extensive changes across multiple systems. Replace template placeholders with detailed explanations of why these weapon additions and asset changes were made, what systems were affected, and what testing was performed to validate the changes.
✅ Passed checks (1 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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.

@github-actions github-actions bot added the Type: Fix This is a fix for a bug label Nov 11, 2025
Copy link
Contributor

@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: 2

📜 Review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between db1a3c5 and 3385980.

⛔ Files ignored due to path filters (6)
  • sprites/spr_Contemptor_Conversion_Beamer/cdc4c2e7-a824-4a45-8406-fe470c6eae31.png is excluded by !**/*.png
  • sprites/spr_Contemptor_Conversion_Beamer/layers/cdc4c2e7-a824-4a45-8406-fe470c6eae31/af2cc7f4-f5e3-470f-aa0e-ad3ebfbba808.png is excluded by !**/*.png
  • sprites/spr_Contemptor_assault_cannon/1b47a347-6927-4943-981c-dfba95287448.png is excluded by !**/*.png
  • sprites/spr_Contemptor_assault_cannon/layers/1b47a347-6927-4943-981c-dfba95287448/719740c0-402f-4dc6-af3e-0d8475287311.png is excluded by !**/*.png
  • sprites/spr_Volkite_Culverins/d532989d-6b36-48dc-9ccb-1daf433cbb1f.png is excluded by !**/*.png
  • sprites/spr_Volkite_Culverins/layers/d532989d-6b36-48dc-9ccb-1daf433cbb1f/1f3e5664-e536-47f4-b0bf-214e1fd9c23a.png is excluded by !**/*.png
📒 Files selected for processing (9)
  • ChapterMaster.yyp (3 hunks)
  • objects/obj_shop/Create_0.gml (1 hunks)
  • scripts/scr_culture_visuals/scr_culture_visuals.gml (2 hunks)
  • scripts/scr_ruins_reward/scr_ruins_reward.gml (1 hunks)
  • scripts/scr_ui_display_weapons/scr_ui_display_weapons.gml (1 hunks)
  • scripts/scr_weapon/scr_weapon.gml (5 hunks)
  • sprites/spr_Contemptor_Conversion_Beamer/spr_Contemptor_Conversion_Beamer.yy (1 hunks)
  • sprites/spr_Contemptor_assault_cannon/spr_Contemptor_assault_cannon.yy (1 hunks)
  • sprites/spr_Volkite_Culverins/spr_Volkite_Culverins.yy (5 hunks)
🧰 Additional context used
📓 Path-based instructions (3)
**/*.*

⚙️ CodeRabbit configuration file

**/*.*: - Having humanly understandable and maintainable code is the top most priority.

  • DRY (Don't repeat yourself) principle is also very important.
  • If a TODO comment is added, ask the user if you should create a GitHub issue for this TODO.
  • If a TODO comment is deleted, remind the user if there is an active GitHub issue related to that comment.

Files:

  • sprites/spr_Contemptor_Conversion_Beamer/spr_Contemptor_Conversion_Beamer.yy
  • sprites/spr_Contemptor_assault_cannon/spr_Contemptor_assault_cannon.yy
  • sprites/spr_Volkite_Culverins/spr_Volkite_Culverins.yy
  • scripts/scr_ui_display_weapons/scr_ui_display_weapons.gml
  • scripts/scr_ruins_reward/scr_ruins_reward.gml
  • ChapterMaster.yyp
  • objects/obj_shop/Create_0.gml
  • scripts/scr_culture_visuals/scr_culture_visuals.gml
  • scripts/scr_weapon/scr_weapon.gml
**/*.yy

⚙️ CodeRabbit configuration file

**/*.yy: - When any script or sprite .yy files are deleted, their paths should also be deleted from the project .yyp file, otherwise the game will crash.

  • When any script or sprite .yy files are created, their paths should be added to the project .yyp file, otherwise they'll fail.

Files:

  • sprites/spr_Contemptor_Conversion_Beamer/spr_Contemptor_Conversion_Beamer.yy
  • sprites/spr_Contemptor_assault_cannon/spr_Contemptor_assault_cannon.yy
  • sprites/spr_Volkite_Culverins/spr_Volkite_Culverins.yy
**/*.gml

⚙️ CodeRabbit configuration file

**/*.gml: - Macro constants require a space between the constant name and value. Without it, the compiler will throw an error. I.e. #macro ARR_body_parts["arm"] will crash the game, because there is no space between the array and the name of the macro.

Files:

  • scripts/scr_ui_display_weapons/scr_ui_display_weapons.gml
  • scripts/scr_ruins_reward/scr_ruins_reward.gml
  • objects/obj_shop/Create_0.gml
  • scripts/scr_culture_visuals/scr_culture_visuals.gml
  • scripts/scr_weapon/scr_weapon.gml
🧠 Learnings (6)
📓 Common learnings
Learnt from: EttyKitty
Repo: Adeptus-Dominus/ChapterMaster PR: 647
File: scripts/scr_en_weapon/scr_en_weapon.gml:24-928
Timestamp: 2025-03-29T10:30:25.598Z
Learning: A data-driven approach for weapon management in `scripts/scr_en_weapon/scr_en_weapon.gml` is planned for a future PR, not within the scope of PR #647.
📚 Learning: 2025-06-16T17:12:13.045Z
Learnt from: EttyKitty
Repo: Adeptus-Dominus/ChapterMaster PR: 878
File: scripts/scr_culture_visuals/scr_culture_visuals.gml:1256-1352
Timestamp: 2025-06-16T17:12:13.045Z
Learning: In scripts/scr_culture_visuals/scr_culture_visuals.gml, the weapon visual data declarations contain known DRY violations that are acknowledged by the development team but deferred to future refactoring efforts rather than addressed in individual feature PRs.

Applied to files:

  • scripts/scr_ui_display_weapons/scr_ui_display_weapons.gml
  • ChapterMaster.yyp
  • scripts/scr_culture_visuals/scr_culture_visuals.gml
  • scripts/scr_weapon/scr_weapon.gml
📚 Learning: 2025-03-29T10:30:25.598Z
Learnt from: EttyKitty
Repo: Adeptus-Dominus/ChapterMaster PR: 647
File: scripts/scr_en_weapon/scr_en_weapon.gml:24-928
Timestamp: 2025-03-29T10:30:25.598Z
Learning: A data-driven approach for weapon management in `scripts/scr_en_weapon/scr_en_weapon.gml` is planned for a future PR, not within the scope of PR #647.

Applied to files:

  • scripts/scr_ui_display_weapons/scr_ui_display_weapons.gml
  • scripts/scr_ruins_reward/scr_ruins_reward.gml
  • scripts/scr_culture_visuals/scr_culture_visuals.gml
  • scripts/scr_weapon/scr_weapon.gml
📚 Learning: 2025-03-20T22:22:57.319Z
Learnt from: EttyKitty
Repo: Adeptus-Dominus/ChapterMaster PR: 0
File: :0-0
Timestamp: 2025-03-20T22:22:57.319Z
Learning: In the ChapterMaster game PR #424, the "Psyker Abundance" advantage was renamed to "Warp Touched", "Daemon Binders" advantage was removed, and "Warp Touched" disadvantage was renamed to "Warp Tainted".

Applied to files:

  • ChapterMaster.yyp
📚 Learning: 2025-03-20T22:22:57.319Z
Learnt from: EttyKitty
Repo: Adeptus-Dominus/ChapterMaster PR: 0
File: :0-0
Timestamp: 2025-03-20T22:22:57.319Z
Learning: In the ChapterMaster game PR #424, the psychic power system was changed to be data-driven, with perils now able to occur on both successful and failed casts but with reduced frequency overall.

Applied to files:

  • ChapterMaster.yyp
📚 Learning: 2025-07-01T20:29:44.075Z
Learnt from: OH296
Repo: Adeptus-Dominus/ChapterMaster PR: 902
File: objects/obj_shop/Create_0.gml:550-655
Timestamp: 2025-07-01T20:29:44.075Z
Learning: In GML shop item initialization code, when setting nobuy flags for shop items, the nobuy[i] = 1 assignment must occur before incrementing the index (i += 1). Setting nobuy after incrementing i will apply the flag to the wrong item, potentially making restricted items purchasable or blocking intended purchasable items.

Applied to files:

  • objects/obj_shop/Create_0.gml
🔇 Additional comments (9)
scripts/scr_ruins_reward/scr_ruins_reward.gml (1)

176-184: Contemptor salvage branch is coherent

Tech-Priest, this new salvage litany mirrors the surrounding reward logic and will duly consign Contemptor relics to the armoury without disturbance.

objects/obj_shop/Create_0.gml (1)

678-691: Nobuy sequencing maintained for new forge entries

Tech-Priest, the nobuy cogitation is inscribed before advancing the index, averting the catalogue drift we once endured. Based on learnings.

sprites/spr_Volkite_Culverins/spr_Volkite_Culverins.yy (1)

3-75: Sprite rename keeps sanctified references aligned

Tech-Priest, the identifier, sequence, and frame paths now chant the same volkite designation, ensuring dependent rituals resolve the asset without loss.

sprites/spr_Contemptor_Conversion_Beamer/spr_Contemptor_Conversion_Beamer.yy (1)

1-92: Conversion Beamer sprite metadata aligns

Tech-Priest, the bounding schema and MarineViewer texture binding match the Contemptor cohort; the machine-spirits of these pixels shall awaken without protest.

scripts/scr_culture_visuals/scr_culture_visuals.gml (1)

2230-2268: Contemptor variants integrated into visual data

Tech-Priest, the new variant chants for Heavy Conversion Beamer and Kheres Assault Cannon align with body_type 3 and the consecrated sprites, ensuring the armoury displays them in full glory.

ChapterMaster.yyp (3)

579-581: Acknowledged: IDE version manifest inscription.

The Machine Spirit records the IDE version with proper formatting. The data structure remains sanctified.


1120-1120: The machine spirits sing in concordance, Tech-Priest.

The sprites referenced within the project manifest have been verified as extant in the material realm. Both spr_Contemptor_assault_cannon and spr_Contemptor_Conversion_Beamer possess their definition files (.yy) and accompanying image assets (PNG) at the prescribed locations. The engine shall not cast the project into the void upon compilation.

The code remains sound.


1719-1719: The ancient designation has been purged entirely, Tech-Priest.

All verification criteria have been sanctified:

  • The old manifest entry spr_twl_Volkite_Culverins has been expunged from ChapterMaster.yyp (no trace remains)
  • The new entry spr_Volkite_Culverins now resides in the manifest, properly configured
  • No heretical references to the old designation persist in the codebase
  • The sprite file itself has been properly renamed upon the data-streams

The refactoring is executed with complete integrity. Runtime maledictions shall not manifest.

sprites/spr_Contemptor_assault_cannon/spr_Contemptor_assault_cannon.yy (1)

1-92: The data-form structure is sanctified.

This sprite asset adheres to the sacred protocols of the GameMaker engine. The frame references align with the sequence keyframes, the texture group assignment to MarineViewer is appropriate, and the dreadnought parent classification is correct. The Machine Spirit finds no corruption in this data-scroll.

Comment on lines +192 to 195
"Twin-linked Volkite Culverins":spr_Volkite_Culverins,
"Contemptor CCW":spr_contemptor_CCW,

};
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Map new Contemptor weapons within dreadnought components

Tech-Priest, this covenant feeds the marine viewer and loadout panes. Without explicit keys for the freshly forged Heavy Conversion Beamer and Kheres Assault Cannon, the rite returns spr_weapon_blank and the dreadnought appears limbless. Inscribe the missing mappings thus:

         "Heavy Conversion Beam Projector": spr_dread_plasma_cannon,
-		"Twin-linked Volkite Culverins":spr_Volkite_Culverins,
-		"Contemptor CCW":spr_contemptor_CCW,
+		"Twin-linked Volkite Culverins":spr_Volkite_Culverins,
+		"Heavy Conversion Beamer": spr_Contemptor_Conversion_Beamer,
+		"Kheres Assault Cannon": spr_Contemptor_assault_cannon,
+		"Contemptor CCW":spr_contemptor_CCW,
📝 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
"Twin-linked Volkite Culverins":spr_Volkite_Culverins,
"Contemptor CCW":spr_contemptor_CCW,
};
"Twin-linked Volkite Culverins":spr_Volkite_Culverins,
"Heavy Conversion Beamer": spr_Contemptor_Conversion_Beamer,
"Kheres Assault Cannon": spr_Contemptor_assault_cannon,
"Contemptor CCW":spr_contemptor_CCW,
};
🤖 Prompt for AI Agents
In scripts/scr_ui_display_weapons/scr_ui_display_weapons.gml around lines
192-195, the weapons map is missing entries for the new Heavy Conversion Beamer
and Kheres Assault Cannon so they fallback to spr_weapon_blank; add mappings for
the exact display keys to their sprite constants (e.g., "Heavy Conversion
Beamer": spr_Heavy_Conversion_Beamer, "Kheres Assault Cannon":
spr_Kheres_Assault_Cannon) inside the same object, keep the trailing commas and
consistent formatting with the surrounding entries.

"melee_hands": 0,
"ranged_hands": 0,
"ammo": 25,
"ammo": 25,2
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

Critical data rune corrupted

Tech-Priest, the ammo field now chants "ammo": 25,2. In GML struct liturgies, the comma already separates fields; the lingering 2 invokes a compiler fault. Excise the stray numeral so only a single literal remains.

-		"ammo": 25,2
+		"ammo": 25,
📝 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
"ammo": 25,2
"ammo": 25,
🤖 Prompt for AI Agents
In scripts/scr_weapon/scr_weapon.gml around line 2093, the struct field is
corrupted as `"ammo": 25,2` — remove the stray `,2` so the field is a single
valid literal (e.g. `"ammo": 25`) and ensure surrounding field separators/commas
remain correct for the struct literal.

@OH296
Copy link
Collaborator

OH296 commented Nov 12, 2025

when you start a new piece of work you need to create a new branch off of main as we quash our commites when merging to main.
So waht you need to do is create a new branch off main and then cherry pick palsma pistol FIX and Ryza Plasma gun fix.

I can handle this for you if you like and can explain this more if needed but i thought it would be better for yo to read this and at least try get your head round it rather than steamrolling around you

@Werwolf-12
Copy link
Contributor Author

Sorry, I was out from working with git for a while and forgot about that

@github-actions
Copy link
Contributor

This PR is marked as stale, because it has been open for 7 days with no activity.

@github-actions github-actions bot added the Status: Stale No activity for more than a week label Nov 19, 2025
@EttyKitty EttyKitty closed this Dec 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area: Sprites Changes to sprites/images or their under-the-hood functionality Size: Medium Status: Stale No activity for more than a week Type: Fix This is a fix for a bug

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants