Stacking Shells: The Problem and the Solution
Hey all, I'm just posting this here as an FYI. Please read and use this information for your mods, mostly the ones that eject many shells.
So, what's the problem? The problem is that shells stack. For the hunter on the move, this means nothing. But for the defender, particulary in a bunker, this means swimming through mountains of shells that build up as the fighting drags on. While it is.. somewhat.. easy to move and and fire through the shells, it's mostly a serious cosmetic problem. Mountains of shells filling your base and burying your defenders doesn't exactly help you immerse yourself in the action of fighting to the last gold ounce.
The below gif was taken using my WIP mod, the EE-1 Tempest. The Tempest has a 125 clip and was emptied 8 times before filming, totaling 1,000 shells expended.
Not very good. So how do we fix it?
One solution I found out, is to tweak the shells to be made of an extremely weak material, while being heavy enough to crush it's shell siblings, thus limited the shell stacking to about a 4-5 pixel-high pile.
The Tempest uses a mildly modfied shell, mildly being a minor resprite. Otherwise it expels the exact same shell as all other shell spewing firearms do. Here's the code we have to modify.. it's a shell being defined, that's all:
Code:
AddAmmo = MOSParticle
InstanceName = TempestShell
HitsMOs = 0
GetsHitByMOs = 0
SpriteFile = ContentFile
FilePath = Tempest.rte/Shell.bmp
FrameCount = 8
SpriteOffset = Vector
X = -3
Y = -3
AngularVel = 5
Atom = Atom
Material = Material
CopyOf = Bullet Casing
TrailLength = 0
Framerate = 10
The procedure is simple, we add 'StructuralIntegrity = 0.00001' just below 'CopyOf = Bullet Casing' to weaken the current material; and we add 'Mass = 5.75' just below 'InstanceName = TempestShell' to make it much heavier.
The weight is enough to kill an actor, but "GetsHitByMOs = 0" insures that the shells won't even touch actors. Here is the finished code:
Code:
AddAmmo = MOSParticle
InstanceName = TempestShell
Mass = 5.75
HitsMOs = 0
GetsHitByMOs = 0
SpriteFile = ContentFile
FilePath = Tempest.rte/Shell.bmp
FrameCount = 8
SpriteOffset = Vector
X = -3
Y = -3
AngularVel = 5
Atom = Atom
Material = Material
CopyOf = Bullet Casing
StructuralIntegrity = 0.00001
TrailLength = 0
Framerate = 10
Now we fire 8 clips of 125 bullets, and let's see what 1,000 shells looks like now:
Yes, those are 1,000 shells on the floor. Same exact amount as the previous example. Much better!
And that's it! Oh, and a bonus GIF: