Thanks for the posts, gents. Got back after some experimenting,
Mother's Day, and a nap with some updates:
I had known that projectiles could reference a gbxmodel (rocket launcher, fuel rod, grenades...), but I've always assumed that the collision was taken care of by the projectile's 'collision radius' value under the '$$$ PROJECTILE $$$' section. Even though not all stock projectiles that use a gbxmodel have this field filled, it's used with the rocket launcher and the flamethrower, so idk.
Now, after creating the .damage_effect, referencing it as one of the banshee's "attachments", and giving the flak projectile a crude collision model, the projectile seemed to act as I would expect a normal projectile to- not reacting to anything but the banshee's collision.


This was quickly fixed by the addition of a gbxmodel to the projectile. Weird, but alright.

The issue of regular projectiles not reacting to the banshee have been alleviated, and the flak projectiles now take damage when in proximity to the banshee. Perfect, except for 3 things. It turns out that despite the flak projectiles 'dying' to the .damage_effect, it looks like the projectile itself just keeps on going (see above picture). Because the explosion is placed in the 'body depleted' field, a quick test proved that a flak projectile flying through the radius of 2 banshees (one after another, in line) will only detonate on the first one it passes through. The problem here being that the model is still visible when it
should have been destroyed, and that the projectile will still react to and produce impact damage on any other materials it comes in contact with. I haven't tried yet, but I would assume that creating a ~damaged permutation for the projectile that does not contain any geometry would at least cover the first problem. For the second, this means there can't be any reliable impact damage for the flak projectile getting direct hits on targets.
Also this happens when shields are down:


In addition, the .damage_effect doing 0 damage to the cyborg's two materials is somehow still enough to keep the pilot or anyone near the banshee's shields stunned. This is gonna be fun. Despite these bugs, I will continue to experiment with this method, as it seems it will be the easiest and most effective way to implement flak weaponry in both single and multi player maps without the need for OS.
Nihalo, I know exactly what you're getting at. The orb system was fool proof until the engine decided it wanted to treat singular collision models and 2 attached objects the same way.
It's actually a good thing the engine does this, as it helps to prevent projectiles being able to do double damage in some scenarios. If all else fails with the .damage_effect method above, OS
does allow me to check and directly update an object's position:
(script startup setorbup
(object_set_collideable orb false)
(object_set_scale orb 1.33334)
)
(script continuous repositionorb
(object_data_set_real orb position x (object_data_get_real banshee position x))
(object_data_set_real orb position y (object_data_get_real banshee position y))
(object_data_set_real orb position z (object_data_get_real banshee position z))
(sleep 1)
)
I'll just have to rely on the flak's explosion dealing the damage, instead of having the orb transfer the damage to the banshee and/or its pilot.
Let's see how this goes.