Smart Cannon Shells

by smcpeak
Provides cannon shells that pass through friendly forces.
14 days ago
Owner: smcpeak
Source: smcpeak/factorio-smart-cannon-shells
License: MIT
Created: 7 months ago
Latest Version: 0.1.1 (14 days ago)
Factorio version: 0.17
Downloaded: 295 times


Smart Cannon Shells is a mod for Factorio. It adds
four new kinds of cannon shells: ordinary, explosive, uranium, and explosive
uranium. Unlike their vanilla counterparts, they pass through allies.

I created this mod as an optional complement to RoboTank,
for which I am working on the ability to fire cannon shells. The vanilla
shells cause a lot of friendly fire in that scenario due to automated and
somewhat indiscriminant firing.

I chose to not simply bundle the new shells with RoboTank in case
people don't want to use cannon shells with RoboTank, and thus do not
want the extra research and items cluttering the UI. Also it might be
useful stand-alone or with some other mods.


Copy the release zip file ( into the "mods" subfolder
of the User Data Directory.
Then start (or restart) Factorio. It should then appear in the Mods
list available from the Factorio main menu, initially enabled.


Unlock the new technologies and craft the new items. Every recipe is
basically the same: one vanilla shell plus one red circuit.

Smart shells pass through allies. However, the explosive variants cause
splash damage on impact that damages everything, including allies, so
they are still pretty dangerous.


I'm not sure how well balanced these additions are. I have deliberately
started at what I think is the high end in terms of cost. Feedback on
balance is welcome in this discussion section of the mod page.

Smart shells pass through rocks and trees as if they were allies. I suspect
that is a bug in Factorio, but it's hard to tell because the "force_condition"
attribute at the heart of this mod is not well documented.


I learned how to create ammunition without friendly fire by looking at
Cannon Turret by VortiK.


Factorio mod portal page:

Github repo: