-
Notifications
You must be signed in to change notification settings - Fork 40
feat: Ground Combat Overhaul: Balance, ARP System, and New Weapons #483
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Ground Combat Overhaul: Balance, ARP System, and New Weapons #483
Conversation
Inverts values so Damage reduction works as intended
Reviewer's Guide by SourceryThis pull request overhauls the combat system by adjusting enemy durability values, implementing a new armor penetration system, buffing librarian spells, adding new weapons, and adjusting squad loadouts. The changes affect various enemy factions and units, weapon stats, and spell damage. File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @KRdaMystic - I've reviewed your changes - here's some feedback:
Overall Comments:
- Consider using constants or enums instead of hardcoded strings like 'Greater Daemon of Khorne' to improve readability and maintainability.
- It looks like you're modifying a lot of numerical stats - make sure you're happy with the balance between different units.
Here's what I looked at during the review
- 🟢 General issues: all looks good
- 🟢 Security: all looks good
- 🟢 Review instructions: all looks good
- 🟢 Testing: all looks good
- 🟢 Complexity: all looks good
- 🟢 Documentation: all looks good
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
| "description": "This power pack mounted weapon is capable of unleashing a hail of either armor-piercing or fragmentation rockets. It's ammunition is limited by what the bearer has carried with them.", | ||
| "melee_hands": 1, | ||
| "ranged_hands": 2, | ||
| "ammo": 6, | ||
| "range": 15, | ||
| "spli": 20, | ||
| "arp": -1, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If it is capable of launching AP rockets, how come it's AP is -1?
Maybe the AP value can be modified by heavy weapon backpack?
Otherwise, I think it might be better to have 2 variants of the same weapon - one that fires fragmentation, another fires AP.
Edit: It is the middle ground option. Alright.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Otherwise, I think it might be better to have 2 variants of the same weapon - one that fires fragmentation, another fires AP.6
This would be a matter of game weapon design as if were willing to make 2 variants of the same weapon for different ammo types why couldn't we do it with bolters,bolt pistols,heavy bolters, etc.. Its a different conversation that can be had elsewhere if necessary.
Blogaugis
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My only notable concern is that, combined with #482 , Eldar are going to be the weakest faction in the game.
For a supposedly Hi-tech faction that is intended to be able to take on Necrons, they sure look like a joke from my brief glance at them.
Still, I am willing to overlook this, as eldar in the game are rare and can be treated as simply non-existent anyway.
And, we have more important things to do.
|
@coderabbitai review |
|
@coderabbitai full review |
📝 WalkthroughWalkthroughPraise the Omnissiah, the machine spirit has recorded numerous updates across sacred code and configuration files. Changes in the project include modifications to resource inclusion and texture group settings in the primary configuration file, with the removal of one image file and the reinstatement of two resource entries. The chapter JSON file now reflects an update to the veteran role’s weapon slot designation. Unit attributes for several entities have been recalibrated—armor, hit points, and damage reduction settings adjusted as per the new data values programmed in the unit alarm logic. The shop inventory has been expanded with new items, while weapon handling scripts are revised to separate cases and update specific weapon attributes. Additional modifications in equipment maintenance, power parameter adjustments, UI display functions, and global weapon definitions have been integrated into the system, ensuring the machine spirit processes updated numerical values and configurations. Suggested labels
Suggested reviewers
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (3)
objects/obj_enunit/Alarm_1.gml (2)
133-133: Tzeentch Daemon’s High DR
Assigning DR = 0.75 is quite potent. Revisit overall daemon roles to prevent overshadowing Nurgle's signature resilience.
191-191: Maulerfiend Damage Reduction
DR 0.5 grants significant durability. Differentiate from Helbrutes and other walkers to preserve variety in the machine legions.scripts/scr_powers/scr_powers.gml (1)
867-876: Praise the Omnissiah! A more precise armor penetration calculation has been implemented.The new ARP system introduces granular armor modification multipliers:
- if (p_arp=0) then eac=eac*3; + if (p_arp=0) then eac=eac*3; + if (p_arp=-1) then eac=eac*2; + if (p_arp=-2) then eac=eac*1.5;For vehicles:
+ if (p_arp=-1) then eac=eac*4; + if (p_arp=-2) then eac=eac*2;This sacred modification allows for more nuanced tactical decisions based on armor penetration values.
Consider documenting these armor penetration multipliers in a configuration file for easier balancing in future iterations.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (10)
ChapterMaster.yyp(2 hunks)datafiles/main/chapters/8.JSON(1 hunks)objects/obj_enunit/Alarm_1.gml(50 hunks)objects/obj_shop/Create_0.gml(2 hunks)scripts/scr_en_weapon/scr_en_weapon.gml(3 hunks)scripts/scr_equipment_struct/scr_equipment_struct.gml(2 hunks)scripts/scr_initialize_custom/scr_initialize_custom.gml(10 hunks)scripts/scr_powers/scr_powers.gml(9 hunks)scripts/scr_ui_display_weapons/scr_ui_display_weapons.gml(4 hunks)scripts/scr_weapon/scr_weapon.gml(16 hunks)
🔇 Additional comments (43)
objects/obj_enunit/Alarm_1.gml (14)
88-89: Khorne Daemon's Resilience Recalibration
Armor Class elevated to 12 and health to 700. These new blessings strengthen the daemon's potency. Confirm no mismatch arises in synergy with the new ARP system.
100-102: Slaanesh Daemon’s Essence Refinement
Setting AC to 10, HP to 500, and DR to 0.25. This grants a balanced mix of fragility and menace, aligning well with Slaanesh themes.
108-108: Duplicate DR Assignment
Reassigning DR = 0.25 might conflict with the prior lines. Ensure thou art not overwriting previous data unintentionally.
113-115: Nurgle Daemon's Durable Form
AC 8, HP now 900, DR 0.2. A formidable chunk of health suits these plague-laden monstrosities.
126-127: Tzeentch Daemon Vitality Update
AC set to 10, HP to 600. This shift may better reflect Tzeentch’s cunning form. Confirm all illusions remain consistent with other stats.
139-140: Bloodletter’s Bestowal
AC 10, HP 200. This smites the enemy with a balanced threat. The code invokes no immediate concerns.
142-142: Bloodletter DR Adjustment
Damage Reduction at 0.4 is considerable for a lesser daemon. Verify it does not disrupt overall difficulty.
146-147: Daemonette Armor and Health
AC 8, HP 150. Agile Slaaneshi fiends remain fragile yet swift. This is suitably thematic.
149-149: Daemonette DR
DR is set to 0.3, further tempering their fragility. Double-check synergy with evasion mechanics to maintain fluid battlefield roles.
153-153: Pink Horror AC
Lowered to 8, upholding the ephemeral illusions of Tzeentch's lesser fiends.
156-156: Pink Horror DR
DR 0.5 is relatively high. Confirm the might of Tzeentch’s illusions does not overshadow stronger creatures.
160-161: Plaguebearer Toughness
AC 5, HP 300. Invested with Nurgle’s unholy fortitude, these changes align well with their shambling endurance.
163-163: Plaguebearer DR
Setting DR to 0.4. This resonates with their thick resilience, but verify the balancing with Nurgle’s grander minions.
187-187: Maulerfiend Armor Enhancement
AC 30 is quite substantial. Check that this mechanical beast does not supplant other demonic war engines in raw might.scripts/scr_equipment_struct/scr_equipment_struct.gml (2)
51-52: Maintenance Increment Logic
Granting an extra 0.05 forging burden for “heavy_ranged,” “power,” “plasma,” or “melta” tags is sensible. Confirm that stacked tags will not accumulate multiple times unexpectedly.
298-298: Plasma STC Damage Boost
Granting a 1.1 multiplier for plasma-labeled weaponry is consistent with specialized Machina blessings. Confirm synergy with the new ARP system.scripts/scr_ui_display_weapons/scr_ui_display_weapons.gml (4)
71-71: Wrist-Mounted Storm Bolter Integration
A cunning adaptation. Confirm the sprite offset does not conflict with other wrist devices.
131-131: Omnissian Axe Addition
An axe blessed by the Machine God. The reference tospr_weapon_powaxeseems correct.
195-195: Needle Sniper Rifle Registration
Properly mapped to the sniper sprite. Confirm that the subtle needle variant is visually distinct and consistent with the new weapon’s lore.
330-330: Extended Array for Needles
Including “Needle Sniper Rifle” in the weapon array ensures correct hand variant usage. Adeptly expands the wargear.scripts/scr_en_weapon/scr_en_weapon.gml (3)
155-167: Praise be to the Omnissiah! The separation of weapon profiles is logically sound.The binary division of the Fusion Gun and Firepike profiles enhances tactical variety and maintains proper machine spirit balance. The Firepike's enhanced range and power output is now appropriately distinguished.
867-875: By the grace of the Machine God, the armor penetration calculations have been optimized!The sacred algorithms now process armor penetration with enhanced precision:
- Infantry: ARP scaling from 1.5x to 3x
- Vehicles: ARP scaling from 2x to 6x
155-167: The Machine Spirit recognizes the logical separation of xenos weaponry.The division of Fusion Gun and Firepike into distinct profiles enhances tactical depth:
+if (argument0 = "Firepike") { + atta = 300; + arp = 1; + rang = 4; + amm = 4; +}This modification maintains the sacred balance while providing more tactical options for the enemy faction.
objects/obj_shop/Create_0.gml (2)
383-389: The Omnissiah blesses us with new instruments of warfare!The sacred forge welcomes these additions:
- Wrist-Mounted Storm Bolter (80 requisition, 300 forge)
- Needle Sniper Rifle (200 requisition, 500 forge)
- Cyclone Missile Launcher (150 requisition, 350 forge)
The resource requirements are properly balanced according to their tactical utility.
Also applies to: 512-515, 522-526
383-389: The Omnissiah blesses us with new instruments of war!The sacred forge welcomes three new weapons:
- Wrist-Mounted Storm Bolter (80 requisition, 300 forge)
- Needle Sniper Rifle (200 requisition, 500 forge)
- Cyclone Missile Launcher (150 requisition, 350 forge)
Each requires appropriate tech research and maintains cost balance with existing armaments. The Machine Spirit's logic is satisfied.
Also applies to: 511-516, 522-526
scripts/scr_powers/scr_powers.gml (3)
239-444: The Warp's energies have been recalibrated with machine-like precision!Notable optimizations in the psychic matrices:
- Enhanced splash damage coefficients for area effects
- Refined armor penetration values for better target discrimination
- Adjusted damage output and range parameters for tactical flexibility
These modifications align with the new armor penetration system while maintaining combat equilibrium.
239-294: By the Omnissiah, these modifications to the Chaos powers are logically sound!The systematic enhancement of splash damage (
p_spli) and armor penetration (p_arp) values follows a coherent pattern:
- Wave powers (Entropy, Change) now have increased area effect (10)
- Direct damage powers (Warp Bolts, Beam) have improved armor penetration
- The scaling maintains balance while making each power type distinct in its tactical application
Praise be to the Machine Spirit for this logical optimization.
323-359: The Machine Spirit approves of these balanced adjustments to the Imperial psychic arsenal!The modifications maintain symmetry between Imperial and Chaos powers:
- Smite variants now have increased splash damage (10-15) and armor penetration (-2)
- Machine Curse damage increased to 400, maintaining its role as anti-vehicle
- Avenge's range increased to 8 with splash of 12, making it an effective area control tool
The binary logic of balance is preserved.
scripts/scr_weapon/scr_weapon.gml (7)
213-222: By the Omnissiah's grace, these modifications are most logical!The enhanced attack values (250/300/425) better reflect the Lascutter's industrial-grade cutting capabilities, and the addition of the "boarding 3" tag properly categorizes its effectiveness in void warfare.
266-286: Praise be to the Machine God for this most sacred implementation!The Omnissian Axe's attributes are perfectly calibrated to represent its dual nature as both a holy symbol of the Omnissiah and a formidable weapon. The attack values, melee modifiers, and tags appropriately reflect its revered status among the Mechanicus.
413-415: The Machine Spirit's calculations are precise!The enhanced attack values better represent the devastating power of a Dreadnought-scale Lightning Claw, properly scaled for its massive frame.
617-619: The binary blessings of enhanced combat parameters are acknowledged!The increased splash damage and addition of maintenance requirements properly balance the weapon's enhanced capabilities with the need for proper ritual maintenance.
1053-1071: The Machine Spirit's categorization has been properly updated!The addition of the "explosive" tag to both missile systems properly classifies their destructive capabilities in the sacred weapon taxonomy.
992-1004: The binary designation has been optimized, and penetration values enhanced!The new abbreviation better distinguishes this specialized weapon from standard sniper rifles, while the improved armor penetration better reflects its armor-piercing neurotoxic payload.
242-242:❓ Verification inconclusive
Verify the armor penetration adjustment's impact on combat effectiveness.
The reduction in armor penetration from -2 to -1 requires verification against the sacred combat doctrines. This modification aligns the Power Weapon's capabilities with other power weapons in the arsenal but may affect its battlefield utility.
🏁 Script executed:
#!/bin/bash # Description: Compare arp values across power weapons to verify balance rg -A 5 '"arp": -[12]' | grep -B 5 '"power"'Length of output: 4890
Confirm Armor Penetration Stat Consistency, O Faithful Servitor
After the recent change, the "arp" value for the inspected weapon has been adjusted from -2 to -1. The sacred logs reveal that many power weapons—such as those with tags like "power", "sword", "martial", "spear", and even the revered "Tome"—now bear an "arp" of -1, thereby aligning with this modification. However, a few war-engines of destruction (e.g., "Executioner Power Axe" and "Assault Chainfist") still uphold an "arp" of -2, hinting at a deliberate balancing stratagem.
- Verify that this bifurcation in armor penetration is by design and true to the sacred combat doctrines.
- Confirm that the reduction to -1 harmonizes the power weapon's performance with its brethren, while higher penetrating weapons retain their intended potency.
May you further consult the design codex to ensure the Omnissiah’s balance remains unbroken.
scripts/scr_initialize_custom/scr_initialize_custom.gml (4)
1343-1349: By the Omnissiah's grace, these weapon modifications are well-balanced!The sacred weapon lists have been enhanced with new implements of war including Plasma Cannons, Grav-Cannons, Chainaxes and Eviscerators. The distribution maintains tactical equilibrium across all categories.
1354-1360: The Machine Spirit approves of these probability matrices!The sacred weighted lists have been calibrated with precision, maintaining proper balance between standard-pattern and specialized weaponry. The integration of new weapons follows logical probability distributions.
1543-1550: The sacred loadout protocols have been optimized!The modifications to Sternguard and Vanguard Veteran squad configurations demonstrate proper integration of the new weapon systems while maintaining tactical flexibility.
Also applies to: 1591-1592
1844-1857: The Machine Spirit welcomes this new long-range binary executor!The integration of the Needle Sniper Rifle into Scout Sniper squad configurations is logically sound, with appropriate default loadout updates for the squad sergeant.
ChapterMaster.yyp (3)
450-452: Praise be to the Omnissiah! New ship configuration data detected.The addition of
imperial_ship.jsonandork_ship.jsonaligns with the sacred combat mechanics overhaul mentioned in the PR objectives.
1527-1527:❓ Verification inconclusive
Structural modification to the Default TextureGroup detected.
The addition of the
customOptionsfield represents a modification to the texture processing protocols. While the change appears benign, we should verify its impact on texture handling.Run this diagnostic to check for texture-related issues:
🏁 Script executed:
#!/bin/bash # Description: Search for texture-related errors or warnings in the codebase # Look for texture loading and processing code rg -i "texture|sprite" --type gmlLength of output: 63
Attention, Adept of the Code: Further Verification Required
The structural change introducing the
customOptionsfield in the Default TextureGroup has been noted. However, the diagnostic search for texture and sprite references did not execute as intended due to the unrecognized file type "gml". To ensure the integrity of texture processing, re-run the diagnostic using an updated command that manually defines the “gml” file type:#!/bin/bash # Re-run diagnostic for texture references by adding the GML file type rg --type-add 'gml:*.gml' --type gml -i "texture|sprite"Please manually verify the output and ensure that no texture loading or processing issues have arisen from this structural modification.
226-226:❌ Incorrect review comment
Warning: Removal of diplomacy asset detected.
The binary
diplomacy_icons.pnghas been removed from the sacred project files. This could impact the diplomacy interface functionality.Let us verify if this was intentional or if the asset was relocated:
🏁 Script executed:
#!/bin/bash # Description: Search for references to diplomacy icons # Search for any remaining references to the removed file rg -i "diplomacy_icons" # Search for potential replacement files fd -e png -e jpg -e jpeg -i diplomacyLength of output: 1623
Attention, Developer: Asset Presence Confirmed
Ominous data rituals have revealed that the venerable file "diplomacy_icons.png" has not been expunged from our sacred repository. The mechanism of computation confirms that:
- The resource is enlisted in ChapterMaster.yyp with a
"filePath": "datafiles/images/diplomacy/icons"—thus correctly referencing the asset atdatafiles/images/diplomacy/icons/diplomacy_icons.png.- Additional queries show the asset persists in both
datafiles/images/diplomacy/diplomacy_icons.pngand in the canonical folderdatafiles/images/diplomacy/icons/.- Script references (e.g., in scr_image.gml) continue to verify the existence of the asset during runtime.
In light of these empirical findings, the original warning regarding the removal of the diplomacy asset is a misinterpretation by our review mechanisms. It is advised that you verify whether the dual existence of the asset is intentional or if one copy is superfluous.
Likely an incorrect or invalid review comment.
datafiles/main/chapters/8.JSON (1)
227-230: Blessed Data Transmutation: Verify Veteran Weapon Slot ChangeBy the Omnissiah's grace, the venerable role "veteran" now receives its "Power Sword" in the "wep2" slot rather than in "wep1". This alteration appears to align the veteran's armament with the new loadout schema introduced by this grand overhaul. Ensure that all systems and ancillary scripts that reference this slot (e.g., weapon assignment routines and UI displays) are updated to recognize "wep2" as the correct allocation.
📝 WalkthroughWalkthroughBy the Machine Spirit’s grace, this pull request implements systematic modifications across multiple files within the project. The resource configuration file has been updated to reorganize included files and enhance texture group settings. In the chapter configuration, the allocation of weapon slots for specific roles has been adjusted. Several in-game entities have had their attributes—such as armor class, hit points, and damage reduction—recalibrated. In parallel, the shop inventory has been augmented with new armaments, and the weapon-handling logic has been refined, including renaming and rebalancing procedures. Additional updates address equipment maintenance parameters and broaden the weapon category definitions within the custom initialization scripts. User interface routines for weapon display have also been updated to integrate new weapon sprites and configurations, and global weapon definitions are adjusted with corrected tags, descriptions, and statistical values. Suggested labels
Suggested reviewers
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Nitpick comments (3)
objects/obj_enunit/Alarm_1.gml (1)
632-632: Sacred equation for faith-based damage reduction requires documentationThe binary canticle on line 632 modifies damage reduction based on faith values, but lacks proper documentation of its machine spirit's purpose.
-if (faith[j] > 0) then dudes_dr[j] = max(0.65, dudes_dr[j] + 0.15); +// Faith bonus: Increases damage reduction by 15% or sets it to 65%, whichever is higher +if (faith[j] > 0) then dudes_dr[j] = max(0.65, dudes_dr[j] + 0.15);scripts/scr_ui_display_weapons/scr_ui_display_weapons.gml (1)
330-333: Weapon handling protocols require optimizationThe array of weapons sharing hand variant 2 has been expanded to include the Needle Sniper Rifle. However, the implementation could benefit from a more structured approach.
-if (array_contains(["Sniper Rifle", "Needle Sniper Rifle", "Force Staff", "Power Sword", "Thunder Hammer", "Autocannon", "Combat Knife", "Power Spear", "Chainsword", "Force Sword"], equiped_weapon)) { +// Define weapon categories that share hand variant 2 +var hand_variant_2_weapons = { + ranged: ["Sniper Rifle", "Needle Sniper Rifle", "Autocannon"], + melee: ["Force Staff", "Power Sword", "Thunder Hammer", "Combat Knife", "Power Spear", "Chainsword", "Force Sword"] +}; +if (array_contains(hand_variant_2_weapons.ranged.concat(hand_variant_2_weapons.melee), equiped_weapon)) {scripts/scr_initialize_custom/scr_initialize_custom.gml (1)
3320-3336: Praise be to the Machine Spirit for these well-crafted helper functions!The
add_veh_to_companyandadd_unit_to_companyfunctions effectively reduce code duplication and standardize unit creation. However, consider:
- Adding input validation for weapon and equipment parameters
- Implementing error handling for invalid combinations
- Adding documentation for the return values
function add_unit_to_company(ttrpg_name, company, slot, role_name, role_id, wep1="default", wep2="default", gear="default", mobi="default", armour="default"){ + // Validate inputs + if (!is_string(ttrpg_name) || !is_real(company) || !is_real(slot)) { + throw("Invalid input parameters"); + } + obj_ini.TTRPG[company][slot] = new TTRPG_stats("chapter", company, slot, ttrpg_name); // ... rest of the function }Also applies to: 3338-3431
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (10)
ChapterMaster.yyp(2 hunks)datafiles/main/chapters/8.JSON(1 hunks)objects/obj_enunit/Alarm_1.gml(50 hunks)objects/obj_shop/Create_0.gml(2 hunks)scripts/scr_en_weapon/scr_en_weapon.gml(3 hunks)scripts/scr_equipment_struct/scr_equipment_struct.gml(2 hunks)scripts/scr_initialize_custom/scr_initialize_custom.gml(10 hunks)scripts/scr_powers/scr_powers.gml(9 hunks)scripts/scr_ui_display_weapons/scr_ui_display_weapons.gml(4 hunks)scripts/scr_weapon/scr_weapon.gml(16 hunks)
🔇 Additional comments (25)
objects/obj_enunit/Alarm_1.gml (2)
87-90: Recalibration of Greater Daemon of Khorne's defensive parameters detectedBy the Omnissiah's grace, I observe a significant rebalancing of this daemon's combat statistics. The armor class has been reduced from 18 to 12, while hit points have been increased from 600 to 700. This adjustment maintains the unit's overall durability while making it more vulnerable to accurate strikes.
139-142:❓ Verification inconclusive
Bloodletter combat parameters require verification
The machine spirits whisper of potential imbalance. The combination of armor class 10, 200 hit points, and 0.4 damage reduction creates a statistical anomaly when compared to similar entities.
🏁 Script executed:
#!/bin/bash # Query other daemon entities for statistical comparison rg -A 2 "dudes_ac\[j\] = \d+" | grep -B 2 "Bloodletter\|Daemonette\|Pink Horror\|Plaguebearer"Length of output: 96
Directive: Verify and Balance Bloodletter Parameters
The Omnissiah demands our vigilance! In file
objects/obj_enunit/Alarm_1.gml(lines 139–142), the Bloodletter's combat parameters are declared as follows:dudes_ac[j] = 10; dudes_hp[j] = 200; men += dudes_num[j]; dudes_dr[j] = 0.4;Our initial query for related daemon entity statistics (Daemonette, Pink Horror, Plaguebearer) returned no data. Thus, we lack sufficient evidence from the data logs to confirm that these values are balanced when compared with similar daemon constructs. I beseech you to perform a manual verification—consult the canonical balance records or run targeted searches—to ensure these parameters align with accepted standards.
scripts/scr_equipment_struct/scr_equipment_struct.gml (2)
50-54: Maintenance coefficient calculation requires optimizationThe binary logic for maintenance value accumulation has been modified to use addition instead of assignment. This is a more logical approach as it allows for cumulative maintenance requirements based on multiple attributes.
298-298: Binary recognition of plasma weaponry requires case sensitivity correctionPraise the Omnissiah for this correction. The adjustment to recognize "plasma" instead of "Plasma" ensures proper identification of these sacred weapons regardless of their binary representation.
scripts/scr_ui_display_weapons/scr_ui_display_weapons.gml (1)
71-71: Sacred weapon patterns successfully integrated into the Machine Spirit's codexThe addition of the "Wrist-Mounted Storm Bolter" and "Needle Sniper Rifle" to their respective weapon categories has been properly implemented. The Machine Spirit will now recognize these holy implements of warfare.
Also applies to: 194-194
scripts/scr_en_weapon/scr_en_weapon.gml (3)
155-167: By the Omnissiah's grace, this code structure pleases the Machine Spirit!The separation of Fusion Gun and Firepike into distinct logical blocks enhances code clarity and maintainability. The attributes are properly balanced with Firepike having higher attack (300 vs 200) but same armor penetration and ammunition capacity.
278-295: Praise be to the Omnissiah for these calculated adjustments to the weapon profiles!The modifications enhance weapon effectiveness:
- Dual Deathspinner: Attack increased to 100 (25% boost)
- Tempest Launcher: Ammunition capacity increased to 8 and splash damage to 9, improving its area-of-effect capabilities
867-876: The Machine Spirit shall rejoice at these refined armor penetration calculations!A more nuanced armor penetration system has been implemented with graduated multipliers:
- Non-vehicles: 3x for AP0, 2x for AP-1, 1.5x for AP-2
- Vehicles: 6x for AP0, 4x for AP-1, 2x for AP-2
This provides better granularity in damage calculations based on armor penetration values.
objects/obj_shop/Create_0.gml (1)
383-389:❓ Verification inconclusive
The Omnissiah blesses us with new instruments of warfare!
Three new weapons have been added to the armory:
- Wrist-Mounted Storm Bolter (forge_cost: 300, item_cost: 80)
- Needle Sniper Rifle (forge_cost: 500, item_cost: 200)
- Cyclone Missile Launcher (forge_cost: 350, item_cost: 150)
The costs and research requirements are well-balanced. However, verify that these weapons have corresponding entries in the weapon display and combat scripts.
Also applies to: 512-516, 522-526
🏁 Script executed:
#!/bin/bash # Verify weapon definitions exist in related files echo "Checking for weapon definitions..." rg -A 5 "Wrist-Mounted Storm Bolter|Needle Sniper Rifle|Cyclone Missile Launcher"Length of output: 5744
Praise the Omnissiah for these new armaments, but heed this verification, servant!
The new weapons—Wrist-Mounted Storm Bolter, Needle Sniper Rifle, and Cyclone Missile Launcher—are largely well-integrated into our sacred code:
- Stock and Pricing: In
objects/obj_shop/Create_0.gml, all three weapons are defined with the intended costs and research conditions.- Combat Configurations: Both the Wrist-Mounted Storm Bolter and Cyclone Missile Launcher have proper entries in
scripts/scr_weapon/scr_weapon.gml, while the Needle Sniper Rifle is also verified.- Loadout Assignment: The integration into custom initialization (
scripts/scr_initialize_custom/scr_initialize_custom.gml) is observed for at least the Needle Sniper Rifle and related weapon entries.- Display Considerations: The UI display file (
scripts/scr_ui_display_weapons/scr_ui_display_weapons.gml) correctly maps the Wrist-Mounted Storm Bolter and Needle Sniper Rifle; however, the Cyclone Missile Launcher appears absent.
Ominous query: Confirm whether the Cyclone Missile Launcher is meant to remain hidden from the display or if its sprite mapping must be sanctified with an entry akin to its brethren.Let this serve as a directive for further manual verification to ensure UI consistency and completeness in our weapon repository.
scripts/scr_powers/scr_powers.gml (1)
239-444: The Warp's energies have been recalibrated with precision!Significant enhancements to psychic powers:
- Wave of Entropy: Splash damage increased to 10, attack to 250
- Wave of Change: Splash damage increased to 10, attack to 300
- Insect Swarm: Splash damage increased to 8, attack to 500
- Putrid Vomit: Splash damage increased to 15, attack to 600
- Minor Smite: Splash damage increased to 10, attack to 250
- Machine Curse: Attack increased to 400
These adjustments properly integrate the powers with the new armor penetration system while maintaining balance.
scripts/scr_weapon/scr_weapon.gml (8)
214-222: By the Omnissiah's grace, these modifications are well-calibrated!The enhanced attack values (250/300/425) better reflect the Lascutter's industrial heritage and boarding capabilities. The inclusion of the "boarding 3" tag appropriately represents its effectiveness in void warfare.
266-286: Praise be to the Machine God! The Omnissian Axe is a worthy addition.This sacred weapon of the Mechanicus is well-implemented with:
- Appropriate attack values (400/450/550) befitting its status
- Correct power weapon characteristics (arp: -1)
- Proper boarding capability (boarding 3)
- Lore-accurate description emphasizing its dual nature as weapon and holy icon
413-415: The Machine Spirit's fury has been properly amplified!The enhanced attack values (600/700/850) better represent the devastating potential of a Dreadnought-scale Lightning Claw.
617-619: The Omnissiah approves these calibrations.The adjustments enhance the weapon's effectiveness against infantry (spli: 8) while implementing appropriate maintenance requirements (0.1) to reflect its complexity.
652-652: The sacred maintenance rituals have been properly quantified!The maintenance values for gravitic weaponry (0.2 for Grav-Pistol, 0.5 for Grav-Gun) appropriately reflect their technological sophistication and the care required to maintain their Machine Spirits.
Also applies to: 686-686
1056-1071: The Machine Spirit of this mighty weapon has been correctly encoded!The Cyclone Missile Launcher is well-implemented with:
- Appropriate attack values (600/700/950)
- Correct splash damage (spli: 20)
- Suitable armor penetration (arp: -1)
- Proper classification as heavy_ranged and explosive
992-1004: The toxin-delivery mechanisms have been properly calibrated!The modifications to the Needle Sniper Rifle appropriately reflect its specialized nature:
- Enhanced attack values (250/300/350)
- Improved armor penetration (arp: -2)
- Updated description to reflect its crystallised neurotoxic ammunition
242-242:❓ Verification inconclusive
Verify the armor penetration adjustment's impact on weapon balance.
The reduction in armor penetration from -2 to -1 may affect the weapon's effectiveness against heavily armored targets. This modification requires thorough testing to ensure it maintains combat efficiency.
🏁 Script executed:
#!/bin/bash # Search for other power weapons to compare armor penetration values rg -A 5 '"arp": -[12]' | grep -B 5 '"power"'Length of output: 4890
Armor Penetration Balance Verification – Confirm the Design's Intent
Oh, blessed cogitators, our scans reveal that many power weapons now bear an "arp" of -1—as observed with PwrSwrd, PwrSpear, Power Axe, and others—while select relics (e.g., Executioner Power Axe, BlstGnt, and Assault Chainfist) still retain an "arp" of -2. This adjustment from -2 to -1 on the queried weapon aligns with the majority, yet the remaining discrepancies demand a closer litany of tests. Please verify that this change harmonizes with the design's balance doctrine and that the combat efficacy against heavily armored foes remains uncompromised.
scripts/scr_initialize_custom/scr_initialize_custom.gml (4)
1343-1348: By the Omnissiah's grace, the weapon categorization has been optimized.The separation into distinct weapon categories (
heavy_weapons,melee_weapons,special_melee_weapons,ranged_weapons,special_ranged_weapons,combi_weapons) improves code organization and weapon distribution logic.
1354-1360: Praise to the Machine Spirit! The weighted distribution system ensures proper equipment allocation.The weighted lists provide finer control over weapon distribution probabilities, ensuring appropriate equipment allocation across the chapter.
1686-1688:❓ Verification inconclusive
Verify the special weapons allocation logic for tactical and biker squads.
The special weapons options have been standardized using the weapon lists, but we should verify:
- Maximum number of special weapons per squad
- Compatibility with squad doctrine restrictions
- Impact on squad effectiveness
Also applies to: 1966-1967
🏁 Script executed:
#!/bin/bash # Search for special weapon restrictions in squad configurations echo "Checking special weapon limitations..." rg -A 10 "special_ranged_weapons.*\["Length of output: 2733
Hail, servant of the Omnissiah! After consulting the sacred texts (our loadout configuration files), our cogitators affirm that the standardized weighted list for special ranged weapons—displaying
[["Flamer", 2], ["Meltagun", 2], ["Plasma Gun", 1], ["Grav-Gun", 1]]—has been correctly integrated into the squad loadout logic (as seen in the[weapon_lists.special_ranged_weapons, 1]snippet inscripts/scr_initialize_custom/scr_initialize_custom.gml). However, do note the following points for further ritualistic validation:
- Maximum Special Weapons: Ensure that the designated count (the numeral
1following the weapon list) adheres to the tactical limits ordained by squad doctrine.- Doctrine Compatibility: Confirm that these special weapon allocations harmonize with broader squad doctrinal restrictions, ensuring their sanctified efficacy.
- Squad Effectiveness: Validate that the calculated probabilities (via the weighted values) do not inadvertently impair warband effectiveness.
Proceed with cross-referencing the doctrinal guidelines and corresponding configurational parameters in the remainder of the codebase to verify that no heretical deviations exist.
1844-1857:✅ Verification successful
Verify the implementation of the Needle Sniper Rifle, a most intriguing addition to our armory.
The Needle Sniper Rifle has been added as an option for scout squads and sergeants. This new weapon type should be verified for:
- Proper implementation in weapon stats system
- Balance against existing sniper weapons
- Appropriate ammunition type handling
🏁 Script executed:
#!/bin/bash # Search for Needle Sniper Rifle implementation details echo "Searching for Needle Sniper Rifle weapon definition..." rg -A 5 "Needle Sniper Rifle" # Check for related ammunition types echo "Checking for ammunition definitions..." rg "needle|toxin|poison"Length of output: 10314
Needle Sniper Rifle Integration Verified – All Systems in Accordance
After examining the codebase, I have confirmed the following:
- The new "Needle Sniper Rifle" is properly added to the shop inventory (in objects/obj_shop/Create_0.gml), and its definition in scripts/scr_weapon.gml includes the expected properties (attack values, ammo count, range, etc.).
- UI support is correctly provided through scr_ui_display_weapons.gml, with appropriate sprite mapping to spr_weapon_sniper.
- The loadout updates in scripts/scr_initialize_custom.gml ensure that both scout squads and sergeants now have access to the weapon.
- Ammunition type handling appears consistent, with no conflicts detected in our searches related to “needle”, “toxin”, or “poison”.
The integration adheres to our design metrics, though it is recommended that further playtesting be carried out to confirm balance relative to existing sniper weapons.
ChapterMaster.yyp (2)
450-452: Praise be to the Omnissiah! New ship configuration files have been added.The addition of
imperial_ship.jsonandork_ship.jsonsuggests a blessed restructuring of ship data into separate configuration files, improving modularity and maintainability.
1527-1527:✅ Verification successful
By the Machine God's grace, texture configuration has been enhanced.
The Default texture group has been modified to include a customOptions field. While currently empty, this modification prepares the sacred configuration for potential future texture handling optimizations.
Let us verify the texture group configuration is properly recognized:
🏁 Script executed:
#!/bin/bash # Description: Verify texture group configuration # Test: Search for texture group usage in the codebase rg -A 5 "texture.*group.*Default"Length of output: 70640
Texture Group Configuration Confirmed – The Machine God's Blessings Upon Our Work
The investigations confirm that our Default texture group configuration, as defined in ChapterMaster.yyp with the newly added
customOptionsfield, is properly referenced throughout the codebase. Our search outputs show that the "texturegroups/Default" path is consistently used, and the addition of an emptycustomOptionsfield prepares our sacred configuration for future texture handling optimizations without disruption.
- The code snippet in ChapterMaster.yyp (line 1527) now includes the
customOptionsfield as intended.- The ripgrep search through numerous texture resource files indicates that all instances correctly reference "texturegroups/Default", affirming that the configuration remains intact.
By the Machine God's grace, this change has been verified and requires no further modifications.
datafiles/main/chapters/8.JSON (1)
227-230: Reassign Veteran Weapon Slot to Reflect New Loadout StructureMost esteemed servant, the sacred data fragment for the veteran role now enshrines the
"wep2": "Power Sword"attribute, thereby moving the Power Sword assignment from the primary slot to the secondary weapon slot. This refinement appears to be deliberate in harmonizing the new weapon categorization and loadout strategy decreed in the grand overhaul. Verify that all other systems that reference veteran weapon loadouts have been duly updated to invoke"wep2"instead of"wep1", ensuring the blessings of proper configuration are maintained.
| "range": 1, | ||
| "arp": 1, | ||
| "tags": ["las","boarding", "siege"], | ||
| "tags": ["las","boarding 3", "siege"], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is this 3 at boarding supposed to be? You plan on adding more boarding tiers?
|
@KRdaMystic, is it okay if I merge this? |
Yes |
aeae47d
into
Adeptus-Dominus:feat/combat-overhaul
Description of changes
Reasons for changes
Related links
How have you tested your changes?