Hard Light Productions Forums
Modding, Mission Design, and Coding => FS2 Open Coding - The Source Code Project (SCP) => Topic started by: Fury on November 28, 2010, 01:25:29 pm
-
Currently beams skip shield checks completely unless you use "no pierce shields" flag, I would like to request that beams would by default check for shields but damage still bypasses them by default.
Why? Because this would allow use of armor.tbl, specifically armor types for shields without unnecessary hassle.
Imagine for example that you're making a small mod to FS where Lucifer is the only ship with partially (or fully) resistant shields to beams. With the way beams work right now, you'd have to
1) add "no pierce shields" to all beam weapons
2) create an armor type for shields that allows all beam damage to pass through shields
3) apply said shield armor type to all ships that have shields, except of course Lucifer
4) create lucifer's shield armor type and apply it on Lucifer
Now, if beams would check for shields but bypass them by default, you'd have to
1) create lucifer's shield armor type and apply it on Lucifer
A lot less work without changing retail behavior.
Since "no pierce shields" flag already has check for shields built into it, it shouldn't be all that difficult to make shield check enabled by default.
-
that was how it was initially implemented, and a **** storm followed.
-
And why exactly is that? If you just enable shield check so that armor.tbl is more convenient to use on shields, it wouldn't change retail behavior.
-
No, I see what Fury is saying here. It's an interesting approach.
EDIT: Actually, scratch that, I don't. How exactly would armor.tbl matter if the beam is piercing the shield anyway?
Furthermore, I took a look at the code. The beam does all the unnecessary model and collision checks, including checking the shield quadrant that is hit. But then it sets the quadrant to -1, causing no shield quadrant to receive any damage and the full damage to be propagated to the hull.
More elaboration is necessary, methinks.
EDIT2: Also, if this is an official Blue Planet request, it should be on the HPC board.
-
I think that the idea was to make a +Shield Piercing Percentage: set to 1.0 by default and easly editable via armor table.
Then, a beam won't have to use "no pierce shields" to interact with shields.
Right now, unless this flag is set, it pierces shields regardless of shield armor setting.
-
EDIT: Actually, scratch that, I don't. How exactly would armor.tbl matter if the beam is piercing the shield anyway?
So let's try this again though Dragon already explained it well.
If you create an armor type for shields that is supposed to stop beams from bypassing shields and want to apply it to only one or several ships, it doesn't work because beams don't care about what armor type your shield has because beams ignores shield regardless.
So what I have to do, is to put "no pierce shields" flag to all beam weapons. But wait, now all shields are resistant to beams! So to counter that, now I have to create a shield armor type to let all damage through shields and apply it to all shielded ships, except the ones I want to be resistant. This is a cumbersome and roundabout way to achieve the intended results.
The bottom lines is, armor types on shields should work with beams whether "no pierce shields" is used or not.
-
Yes, that would be useful... :nod:
-
So what you are asking for is not so much "beams should check shields by default", but rather, "beams should use the shield armor type to determine whether or not they should be checking for shields".
-
It would be more than glorious if the beam width could be reduced after passing through a resistant shield.
Like Nexus the jupiter incident
-
So what you are asking for is not so much "beams should check shields by default", but rather, "beams should use the shield armor type to determine whether or not they should be checking for shields".
this is what im getting. and i kind of agree. i would still require the "no pierce shields" on beams that will do shield damage in order to preserve default behavior and avoid unnecessary collision tests when this is not the desired behavior. it would be trivial to add the flag to existing beam weapons with modular tables. unless of course you could query the armor table before the collision tests occur, and then skip them if they are not necessary.
It would be more than glorious if the beam width could be reduced after passing through a resistant shield.
Like Nexus the jupiter incident
if what i read on the wiki the other day about shield armor is correct, this is already somewhat possible.
-
I would assume that checking the shield armor type once when entering the topmost layer of collision detection should be fast enough.