https://www.crosman.com/airguns/airbow/pioneer-airbow
This is the Pioneer Airbow. It uses compressed air to fire arrows and can fire up to 8 shots with consistent velocity before needing to be refilled. This might sound familiar to players who have been tracking the game’s development - the Airbow is functionally similar to the pneumatic bolt driver, which was obsoleted for not being representative of any real-world weapons.
I suggest reworking and restoring the pneumatic bolt driver to simulate the Pioneer Airbow (or a very similar product in the Cataclysm universe). This entails a few key changes:
-
Renamed to “pneumatic arrow gun” (PAG) in order to more accurately reflect its functionality. The PAG’s projectiles are more akin to arrows, not bolts, which are generally shorter and heavier than arrows. A “driver” is, as far as I’m aware, a fictional term with no proper definition when referring to weapons.
-
It cannot be crafted by hand. Instead it is found anywhere the compound crossbow can be found.
-
It does not use normal arrows - the shaft of the arrow used by the Airbow is a tube that fits over the barrel of the Airbow. The PAG should use its own ammo type that is not compatible with traditional bows/crossbows, and vice versa. The player can find these manufactured, non-handcraftable arrows in the same places the PAG and carbon fiber arrows can be found.
- It might be possible for the player to fabricate bootleg versions of the manufactured pneumatic arrows, as they are effectively normal arrows with tubes for shafts. The player would be lacking machine precision, carbon fiber, and low-friction ceramic coating used to squeeze as much performance as possible out of the arrow. This would result in the bootleg arrow having lower accuracy, range, damage, and retrieval rate.
-
It can only hold one arrow at a time, but the reload time is reduced to 2-3 seconds, which is about how long it takes to slip the arrow on to the shaft and cock the gun. The long action of pressurizing the gun is separated from loading the gun with the fault system.
-
The PAG is subject to two new faults - “Low Pressure” and “Insufficient Pressure”. After 8 shots, the PAG gains the “Low Pressure” fault which decreases the range and damage of fired bolts and increases in severity if the player continues firing without refilling. “Insufficient Pressure” prevents the firing of the driver at all and is applied to arrow guns when the player first finds them, and if the player fires enough shots with “Low pressure”. Both faults can be easily mended with the appropriate tool (a pump or pressurized air tank), but this takes time.
Potential revised json entry for the pneumatic bolt driver:
{
"id": "helsing",
"looks_like": "ar15",
"type": "GUN",
"symbol": "(",
"color": "dark_gray",
"name": { "str": "pneumatic arrow gun" },
"description": "A pre-charged pneumatic arrow gun designed for big game hunting. It is very quiet and deadly, and significantly more accurate than a crossbow due to the force being applied at the head of the arrow rather than the rear.",
"price": 100000,
"price_postapoc": 12000,
"material": [ "plastic", "steel" ],
"flags": [ "NEVER_JAMS", "NON-FOULING" ],
"skill": "rifle",
"ammo": [ "pneumatic_arrow" ],
"weight": "3130 g",
"volume": "2 L",
"longest_side": "85 cm",
"bashing": 12,
"to_hit": -1,
"ranged_damage": { "damage_type": "stab", "amount": 5 },
"range": 20,
"dispersion": 30,
"durability": 7,
"default_mods": [ "rifle_scope" ],
"reload": 300,
"loudness": 22,
"valid_mod_locations": [
[ "accessories", 4 ],
[ "grip", 1 ],
[ "sights", 1 ],
[ "sling", 1 ],
[ "stock", 1 ],
[ "rail mount", 1 ],
[ "underbarrel mount", 1 ]
],
"faults": [ "fault_gun_low_pressure", "fault_gun_no_pressure" ],
"pocket_data": [ { "pocket_type": "MAGAZINE", "ammo_restriction": { "pneumatic_arrow": 1 } } ]
}
Pneumatic arrow and bootleg version:
{
"type": "AMMO",
"id": "pneumatic_arrow",
"price": 2000,
"name": { "str": "pneumatic arrow" },
"symbol": "=",
"color": "green",
"looks_like": "arrow_fire_hardened_fletched",
"description": "A fletched carbon fiber arrow shaft with an expanding broadhead tip. The shaft is a hollow tube that fits over the barrel of an airbow. Deals impressive damage to targets. Stands a good chance of remaining intact once fired.",
"material": [ "kevlar_rigid" ],
"volume": "250 ml",
"longest_side": "66 cm",
"price_postapoc": 1000,
"weight": "24 g",
"bashing": 1,
"ammo_type": "pneumatic_arrow",
"damage": { "damage_type": "stab", "constant_damage_multiplier": 1.75 },
"range": 4,
"dispersion": 50,
"loudness": 0,
"count": 10,
"stack_size": 10,
"critical_multiplier": 10,
"effects": [ "RECOVER_30", "PRESSURE" ]
},
{
"type": "AMMO",
"id": "pneumatic_arrow_bootleg",
"copy-from": "pneumatic_arrow",
"name": { "str": "bootleg pneumatic arrow" },
"description": "A handmade imitation of the specialized arrow used with a pneumatic arrow gun, with a bladed tip. The shaft is a hollow tube that fits over the barrel of a pneumatic arrow gun. Deals impressive damage to targets. Stands a somewhat low chance of remaining intact once fired.",
"material": [ "plastic", "steel" ],
"range": 0,
"dispersion": 100,
"relative": { "damage": { "damage_type": "stab", "constant_damage_multiplier": -0.5 } },
"proportional": { "price": 0.5, "price_postapoc": 0.5, "weight": 2.0 },
"extend": { "effects": [ "RECOVER_20" ] },
"delete": { "effects": [ "RECOVER_30" ] }
}
Ammo type “pneumatic_arrow”:
{
"type": "ammunition_type",
"id": "pneumatic_arrow",
"name": "pneumatic arrows",
"default": "pneumatic_arrow"
}
Recipe for the bootleg pneumatic arrow:
{
"type": "recipe",
"result": "pneumatic_arrow_bootleg",
"category": "CC_AMMO",
"subcategory": "CSC_AMMO_ARROWS",
"skill_used": "fabrication",
"skills_required": [ [ "survival", 1 ] ],
"using": [ [ "blacksmithing_standard", 1 ] ],
"difficulty": 5,
"time": "1 h 30 m",
"autolearn": true,
"book_learn": [ [ "recipe_arrows", 4 ] ],
"qualities": [ { "id": "CHISEL", "level": 3 } ],
"tools": [ [ [ "swage", -1 ] ] ],
"components": [
[ [ "adhesive", 1, "LIST" ], [ "filament", 20, "LIST" ] ],
[ [ "steel_tiny", 1, "LIST" ] ],
[ [ "fletching", 1, "LIST" ] ]
]
}
Low and Insufficient Pressure faults:
{
"id": "fault_gun_low_pressure",
"type": "fault",
"name": { "str": "Low Pressure" },
"description": "Firing a pneumatic gun requires high air pressure. If the pressure gets too low, shots will lose velocity and eventually become totally ineffective.",
"mending_methods": [
{
"id": "mend_fault_gun_low_pressure",
"name": "Refill air tank",
"success_msg": "You refill the air tank of your %s.",
"time": "60 s",
"skills": [ ],
"requirements": { "qualities": [ { "id": "PRESSURIZATION", "level": 1 } ] }
}
],
"flags": [ "SILENT" ]
},
{
"id": "fault_gun_no_pressure",
"type": "fault",
"name": { "str": "Insufficient Pressure" },
"description": "Firing a pneumatic gun requires high air pressure. If the gun is out of pressure, it will be unable to fire.",
"mending_methods": [
{
"id": "mend_fault_gun_no_pressure",
"name": "Fill air tank",
"success_msg": "You fill the air tank of your %s.",
"time": "450 s",
"skills": [ ],
"requirements": { "qualities": [ { "id": "PRESSURIZATION", "level": 1 } ] }
}
],
"flags": [ "SILENT" ]
}
I believe the necessary .cpp files to edit in order to support the new faults are item.cpp (where the fault_id only needs to be added to a list), item_group.cpp (which controls the spawning of items with faults), and ranged.cpp (which controls the exact effects the faults would have on the operation of the gun).
Pioneer Airbow FAQ
https://www.crosman.com/connect/airbow/pioneer-airbow-faq/
Video showcasing the Airbow for deer hunting. The Airbow is capable of downing a deer with one clean shot, to give an idea of how strong the PAG should be.
In case you’re wondering why I haven’t made a PR for these changes myself, I do not know how to compile the game in order to test the source code changes. I also hardly even know where to start editing ranged.cpp to achieve the desired effect.