Page 1 of 1

Various shield improvements

Posted: 30 Dec 2006, 17:37
by KDR_11k
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.

Posted: 30 Dec 2006, 18:32
by Decimator
Shieldenergydrain: shield uses this much energy at all times, if this energy isn't availible, the shield goes down and its charge is set to zero.

Shieldcooldown: when a shield goes down, it stays down for this long before it starts to recharge.

Posted: 30 Dec 2006, 19:03
by Caydr
CureCancer: When fired at, the shield forms a worldwide network of every processing unit in order to instantly find a cure for every form of cancer.

Posted: 30 Dec 2006, 19:14
by KDR_11k
Decimator wrote:Shieldcooldown: when a shield goes down, it stays down for this long before it starts to recharge.
When is a shield "down"? A shield only blocks shots that do less damage than it has charge remaining so it would never hit 0 charge unless pounded by 1 damage weapons.

Posted: 30 Dec 2006, 19:41
by Tobi
it could just be the idle time before the shield starts to regenerate

Posted: 30 Dec 2006, 22:02
by KDR_11k
That'd be good. Halo:Spring!

Posted: 30 Dec 2006, 22:16
by Caydr
Shields work well enough for now IMHO.

Posted: 30 Dec 2006, 22:18
by Warlord Zsinj
I still want to see shields that use the water reflector and water shaders!

Posted: 30 Dec 2006, 22:24
by KDR_11k
Caydr wrote:Shields work well enough for now IMHO.
I disagree, I've been hitting their limits quite often. Especially preventing shots from detonating if they were swallowed by a shield would be welcomed by MANY mods.

Posted: 30 Dec 2006, 23:21
by Peet
KDR_11k wrote:That'd be good. Halo:Spring!
/me starts ripping models >:)

Posted: 31 Dec 2006, 00:46
by FLOZi
Caydr wrote:Shields work well enough for now IMHO.
For AA and other OTA type mods, perhaps. Bear in mind its not usually you pushing the boundaries.

Posted: 31 Dec 2006, 12:27
by KDR_11k
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).

Posted: 31 Dec 2006, 13:38
by Radja
KDR_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).
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

Posted: 31 Dec 2006, 16:32
by KDR_11k
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
I think games like Wing Commander used body shields before Starcraft did...

Shield jammers can be implemented via script, though it is pretty ugly.

Posted: 01 Jan 2007, 18:51
by Soulless1
KDR_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).
that's a really good idea :-)