User:Nexii Malthus/SLMC/Dual Damage
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
This article has been classified as a stub, you can help the Second Life Wiki by expanding this article and adding more information.
Outline
- Who
- Why
- How
- What
I'm still thinking about the approach to modernising damage/health systems from LBA so here is my take on it.
I've been wanting to setup a clean way for everyone to shift over LBA to Combat2 in a way that feels familiar and is reasonable.
So here is my draft proposal.
LBA modernised to Combat2 Armor Proposal
What I am thinking is to have 1-to-1 in terms of points/numbers for damage and health to match with existing LBA weapons and armor. The small numbers are easier to work with and have precedent.
Previous iterations of proposals required changing damage numbers to be multiplied by 100 but that led to ridiculous health and damage numbers. No one was happy with this.
Therefore 10 LBA damage should be equivalent to 10 DAMAGE_TYPE_ANTI_ARMOR
(104) damage. 75 LBA points is 75 object health.
Now you might be asking, but Nexii, 10 damage of an anti-armor grenade to an avatar is barely a scratch? So how do we deal with that?
There are two approaches possible:
- When applying damage to avatars vs damageable objects, switch the damage type from anti-armor to anti-personnel damage.
- Apply 2 separate llDamage calls with anti-armor AND anti-personnel damage types, e.g. dual damage with different damage types.
Dual damage types seems appealing the more you think about it. Here are the usecases:
- You can neatly balance damage between anti-armor and anti-personnel on a spectrum for any weapon. For example a tank that has two different munitions such as High Explosive Shells vs. Armor Piercing Shells would be able to have HE deal more anti-personnel & splash damage but still capable of anti-armor damage, vice versa the AP deals mostly anti-armor but if an avatar still managed to get directly hit they would still have received some damage.
- There are also cases where an avatar can have armor, for example a handheld shield that protects only the direction they face. The shield would therefore be able to receive the anti-armor damage appropriately against itself while providing resistance against anti-personnel damage (Light Armor).
Therefore anti-armor weaponry should be setup to apply dual damage types of anti-armor and anti-personnel.
(Unless you really don't care about the effects on avatars of your anti-armor weapon, just make it pure anti-armor damage type, that's fine. Useful if you rely on collision-based damage.)
Anti-armor damage is exclusively via DAMAGE_TYPE_ANTI_ARMOR
(104). Anything typically meant to damage armor (vehicles/deployables).
Anti-personnel damage is pretty much everything else -- such as DAMAGE_TYPE_PIERCING
(8) for bullets typically, DAMAGE_TYPE_EXPLOSIVE
(102) for explosive grenades, etc. Anything typically meant to damage avatars.
While LBA had LBA Light there was no word to describe non-light. So I'd like to remedy that by giving distinct names to classes of armor:
- Light Armor: If it's a light vehicle/deployable/handheld it should be damageable to firearms. This would have been previously referred to as Light LBA.
- Heavy Armor: Vehicles that can be invulnerable to firearms due to thick enough armor, such as a primary or heavy vehicle like a main battle tank. Only damageable via
DAMAGE_TYPE_ANTI_ARMOR
(104). This is similar to normal LBA.
Between that, you can have options for a spectrum of medium armors by tweaking the amount of damage that firearms can do to a vehicle. But by definition light and heavy armors should be the ends of the armor spectrum, aside from any weak or strong points you wish to integrate.