APS= is unnecessary. If somebody wanted an APS, he wouldn't set APS=true APSChance=0% and, conversely APS=false APSChance=100% makes no sense, either. As such, a simple "If this has an APSChance of greater than 0, it has an APS" is enough. I'm not a fan of APSForbidden=; I believe APS.Intercept= would be a better solution, because it allows you to specifically choose what it works on, rather than having to put everything else. This is especially important in terms of testing and human memory. If you want it to work against bullets, missiles and flak, it is likely you'll test bullets, missiles and flak. If you define the negative, you'll have to test every single other weapon, just to ensure they don't work - that'll inevitably lead to forgotten flags, missed weapons, etc., increasing the number of buggy systems. As for APS.Range=, it may be better to set that in leptons rather than cells...for one, it's (at least subjectively) finer-grained, and for two, it's less confusing to the user. If a user sets APS.Range=1, he may expect the entire surrounding ring of cells to be a protected zone (as in, "APS.Range=1 means 1 cell next to me in each direction is protected"), when, in reality, it'd be 1 cell from the location of the unit, making it a perfect circle cutting in the middle of surrounding cells. Leptons would also make working with small values easier, if someone wants to make a small personnel APS. So, personally, I'd say APS.Chance=0% ; percentage chance of interception APS.Range=256 ; in leptons APS.Intercept=[list] ; projectile types to intercept APS.ROF=15 ; rate of fire of the APS, in frames APS.Anim=[animation] ; animation to play on projectile destruction would be preferable. That all being said: I've long hoped for an actual shield logic in the game. Since the way I envision that isn't too far away (basically, it's a second health bar & animations to play when shots strike the shield), and there was never a shortage of sci-fi mods in the community, it might makes sense to combine these two and just create a general, customizable shield logic, which can be set to behave like the APS described here. I think the shield could easily be described as Shield.Chance=100% ; percentage chance of interception Shield.Health=500 ; how much damage to take before the shield collapses Shield.Range=256 ; in leptons Shield.Intercept=[list] ; projectile types to intercept Shield.ROF=0 ; rate of fire of the shield, in frames Shield.Anim=[animation] ; animation to play on projectile destruction Shield.ShieldAnim=[animation] ; general surrounding forcefield anim Come to think of it, APS.Health + secondary health bar could easily be used to show how much ammo the APS has left. Would just need a switch somewhere to toggle between "deduct 1 for each hit" for APS and "deduct $damage for each hit" for shields. The more I think about it, the more I think just creating a full shield logic that is customizable enough to allow usage as an APS is the best way. (Ultimately, you just know if we added an APS as described, the sci-fi people would abuse it to create shields anyway. One way or another, the system will be used for both.) I'm not gonna claim this issue, in case someone else has doubts or wants to try it, but if nobody else wants to try it, I will, for the release after next, or the one after that, depending on how difficult it is and how the workload is. (You can kind of ignore what follows, these are more notes to myself or others who may want to try this.) Implementation-wise, this could be feasible if one checks for the presence of an APS in the moment of firing, and, if one exists, calculates where the projectile would potentially be destroyed; the projectile would then have to re-check whether the APS is currently up (with APSROF and everything), and, if so, self-destruct while the anim plays. Alternatively, ObjectClass->Location->DistanceFrom() could continuously be checked, though I suspect if a large number of projectiles on the map continuously re-calculates distances, performance could suffer. Then again, something like that may already exist for purposes of path control and impact point determination. One could hook into that. EDIT: Anon above me, "Active Protection System" is the real-world name for actual, current defense systems; basically a predecessor of the point defense laser. See - http://en.wikipedia.org/wiki/Active_protection_system and - http://www.youtube.com/watch?v=rxPinJp051I and - http://www.youtube.com/watch?v=62jzAupr044