Weapon System
Relevant source files
The following files were used as context for generating this wiki page:
The Weapon System in ChapterMaster is a data-driven framework that defines the combat capabilities, manufacturing requirements, and tactical applications of armament within the game. It encompasses a vast array of ranged and melee weapons, ranging from standard-issue bolters to ancient relics of the Great Crusade. The system integrates closely with the technology tree for forging, and the chapter customization system for unit loadouts.
The primary purpose of the system is to provide a structured schema for combat resolution, unit customization through custom_squads, and strategic resource management via the Forge. Weapons are defined by their damage profiles (standard, master-crafted, or artifact), armor penetration (ARP), range, and specific functional tags that categorize them for different unit types like Terminators or Dreadnoughts.
Data Structures and Weapon Profiles
Weapons are defined as objects containing various attributes that dictate their performance and accessibility. A key feature of the weapon system is the tiered attack profile, which allows a single weapon type to have different effectiveness based on its quality.
Weapon Attribute Schema
| Field | Description | Type |
|---|---|---|
attack | Contains damage values for standard, master_crafted, and artifact tiers. | Object |
arp | Armor Penetration value, determining effectiveness against high-armor targets. | Integer |
range | Maximum distance the weapon can reach in combat. | Float |
ranged_hands | Number of hands required to fire the weapon (e.g., 0.5 for pistols, 2 for rifles). | Float |
requires_to_forge | List of technological prerequisites required to manufacture the item. | Array |
tags | Classification labels (e.g., bolt, power, heavy_ranged, terminator). | Array |
second_profiles | Integrated secondary weapons (e.g., a bolter built into a power fist). | Array |
Sources: datafiles/data/weapons.json:2-35
Relationship between Weapons and Components
The following diagram illustrates how weapons relate to other systems like technology requirements and integrated sub-systems.
The diagram shows that weapons are the central entity, requiring specific technologies for production and often embedding other weapon profiles within themselves (e.g., Integrated-Bolter). Sources: datafiles/data/weapons.json:104-121, datafiles/data/technologies.json:5-15
Forging and Technological Prerequisites
Manufacturing weapons requires specific advancements in the Chapter's Forge. The requires_to_forge attribute in the weapon data maps directly to entries in the technologies database.
Forge Dependencies
Certain weapon classes cannot be produced until foundational technologies are researched. For example, Melta weaponry requires "Atomic Chamber Construction," which itself requires "Promethium Tank Brazing."
- Combi-Weapons: Require
combi_1(Weapon Combination). Sources: datafiles/data/technologies.json:23-27 - Plasma Weapons: Require
plasma_1(Plasma Coil Magnetization). Sources: datafiles/data/technologies.json:76-80 - Power Weapons: Require
power_1(Disruption Field Generation). Sources: datafiles/data/technologies.json:81-85 - Heavy Weapons: Require
heavy_1(Heavy Weaponry Calibrations). Sources: datafiles/data/technologies.json:54-58
Technology Advancement Flow
This flowchart represents the progression required to unlock advanced weapon manufacturing and unit types. Sources: datafiles/data/technologies.json:1-115
Specialized Weapon Categories
The system categorizes weapons via tags to restrict their use to specific armor types or roles.
Heavy and Vehicle Armaments
Heavy weapons like the Lascannon or Assault Cannon often require heavy_1 and are tagged for specific platforms.
- Dreadnought-only: Weapons such as the
Close Combat Weapon(Dreadnought fist) orDreadnought Power Claw. Sources: datafiles/data/weapons.json:197-208, datafiles/data/weapons.json:417-431 - Vehicle-mounted: Sponson and turret variants like
Hurricane Bolter SponsonsorTwin Linked Lascannon Turret. Sources: datafiles/data/weapons.json:540-555, datafiles/data/weapons.json:1159-1175
Integrated Systems (Second Profiles)
Many advanced items combine multiple weapon functions. This is handled by the second_profiles attribute.
- Assault Chainfist: A melee weapon that includes an integrated
Assault Cannon. Sources: datafiles/data/weapons.json:47-66 - Boltstorm Gauntlet: A power fist with an
Integrated-Bolter. Sources: datafiles/data/weapons.json:104-121 - Infernus Heavy Bolter: A heavy bolter with an underslung
Flamer. Sources: datafiles/data/weapons.json:590-606
This diagram illustrates how items with integrated profiles resolve their multi-modal functionality. Sources: datafiles/data/weapons.json:617-668
Chapter Specialization and Bonuses
Chapters can gain specific bonuses to weapon types through "Advantages," which apply modifiers to weapon tags.
Weapon-Specific Advantages
| Advantage Name | Target Tag | Effect |
|---|---|---|
| Bolter Drilling | bolt | 1.15x Attack Multiplier |
| Devastator Doctrine | heavy_ranged | 1.15x Attack Multiplier |
| Ryzan Patronage | energy | 1.15x Attack Multiplier |
Sources: datafiles/main/chapter_advantages.json:16-29, datafiles/main/chapter_advantages.json:200-216, datafiles/main/chapter_advantages.json:231-247
Custom Loadouts
Chapters can define custom_squads with mandatory or optional weapon requirements. For example, a Deathwatch Aquila Kill Team requires 4 Stalker Pattern Bolters and 7 Combat Knives, but has options for Flamers or Meltaguns. Sources: datafiles/main/chapters/33.json:344-400
Summary of Weapon Statistics
The weapon system relies on a consistent JSON structure to define the lethality of the Chapter. By separating weapons into categories (Bolt, Melta, Plasma, Power) and tiers (Standard to Artifact), the system allows for granular progression. The integration of second_profiles ensures that complex equipment like Terminator armor or specialized gauntlets can perform multiple roles in a single combat engagement.
Sources: datafiles/data/weapons.json, datafiles/data/technologies.json