Various shield improvements
Moderator: Moderators
Various shield improvements
Shields (and related mechanisms) could use several improvements:
1. Call FireWeaponX when the shield is hit by a weapon, possibly with the damage as a parameter. This would allow having units that disable their shields when hit or flinch or maybe have a weapon that can only fire after the shield has absorbed a certain amount of firepower or whatever.
2. An AreaDamageShields tag for other weapons, corresponding to the shield flagarray, any shield that shares flags with this array will take the weapon's damage if its radius reaches within the explosion. This would handle e.g. EMP weapons that kill shields within their range.
3. A ShieldInitialPower tag that defines the shield's power when the unit is first built to allow e.g. shields that recharge slowly or not at all but don't take forever to build up their initial charge.
4. A ShieldAbsorbWeapon flag array tag that makes the shield simply remove projectiles from existence if they match a flag from this array. This is very important for preventing area of effect weapons from damaging a shielded unit when hitting the shield and would reduce the impact of collision detection errors for shields that fit tightly around the unit.
5. ShieldSolid tag which makes every projectile within the shield radius collide with the shield instead of affecting only projectiles that cross its boundary. Useful for shields that aren't supposed to be ineffective if the enemy is too close.
6. ShieldDamaging tag which makes the shield deal damage to any unit that touches it (uses smart shield and solid shield attributes, of course) according to its damage table.
7. Armor classes for shields so we don't have to use default for that and can have e.g. different shield polarities that are vulnerable to different weapons.
8. ShieldDisabledWhenParalyzed tag which disables the shield if the unit using it is paralyzed.
9. DisplayOnHUD tag which makes the shield's strength show up in the HUD's info box for the unit to facilitate recognizing its remaining strength and allow mods to inform the player about the shield strength without making the shield visible (which would be useful for swarm units with "personal" shields).
I think that's all.
1. Call FireWeaponX when the shield is hit by a weapon, possibly with the damage as a parameter. This would allow having units that disable their shields when hit or flinch or maybe have a weapon that can only fire after the shield has absorbed a certain amount of firepower or whatever.
2. An AreaDamageShields tag for other weapons, corresponding to the shield flagarray, any shield that shares flags with this array will take the weapon's damage if its radius reaches within the explosion. This would handle e.g. EMP weapons that kill shields within their range.
3. A ShieldInitialPower tag that defines the shield's power when the unit is first built to allow e.g. shields that recharge slowly or not at all but don't take forever to build up their initial charge.
4. A ShieldAbsorbWeapon flag array tag that makes the shield simply remove projectiles from existence if they match a flag from this array. This is very important for preventing area of effect weapons from damaging a shielded unit when hitting the shield and would reduce the impact of collision detection errors for shields that fit tightly around the unit.
5. ShieldSolid tag which makes every projectile within the shield radius collide with the shield instead of affecting only projectiles that cross its boundary. Useful for shields that aren't supposed to be ineffective if the enemy is too close.
6. ShieldDamaging tag which makes the shield deal damage to any unit that touches it (uses smart shield and solid shield attributes, of course) according to its damage table.
7. Armor classes for shields so we don't have to use default for that and can have e.g. different shield polarities that are vulnerable to different weapons.
8. ShieldDisabledWhenParalyzed tag which disables the shield if the unit using it is paralyzed.
9. DisplayOnHUD tag which makes the shield's strength show up in the HUD's info box for the unit to facilitate recognizing its remaining strength and allow mods to inform the player about the shield strength without making the shield visible (which would be useful for swarm units with "personal" shields).
I think that's all.
-
- Imperial Winter Developer
- Posts: 3742
- Joined: 24 Aug 2004, 08:59
Thought of another one: BodyShield which would have no radius and anything that hits the unit would first check if the shield can block it and if it can do no damage to the unit (might even apply to area damage that touches the unit). The VisibleShield effect for it would be a duplicate of the unit's model with the shield texture and its vertices moved outwards along their normals (cf. Blender's fatten/shrink transformation).
this looks a lot like protoss energy shield in starcraft, there it was just a second hp bar with different defense propertiesKDR_11k wrote:Thought of another one: BodyShield which would have no radius and anything that hits the unit would first check if the shield can block it and if it can do no damage to the unit (might even apply to area damage that touches the unit). The VisibleShield effect for it would be a duplicate of the unit's model with the shield texture and its vertices moved outwards along their normals (cf. Blender's fatten/shrink transformation).
what about just add mobile shield generators/jammers, different shield types would encourage combined arms
I think games like Wing Commander used body shields before Starcraft did...Radja wrote:this looks a lot like protoss energy shield in starcraft, there it was just a second hp bar with different defense properties
what about just add mobile shield generators/jammers, different shield types would encourage combined arms
Shield jammers can be implemented via script, though it is pretty ugly.
that's a really good ideaKDR_11k wrote:Thought of another one: BodyShield which would have no radius and anything that hits the unit would first check if the shield can block it and if it can do no damage to the unit (might even apply to area damage that touches the unit). The VisibleShield effect for it would be a duplicate of the unit's model with the shield texture and its vertices moved outwards along their normals (cf. Blender's fatten/shrink transformation).
