To make the weapon with reflective effect (Reflect but still damage armor), use "OnDamageArmor" events on the weapon.
Like this:
Code: Select all
<Events>
<OnDamageArmor>
(block (direction)
; Randomize direction degrees for its basic reflection nature
(setq direction (random 0 359))
; Create weapon fire so makes them looks like reflected
(sysCreateWeaponFire
; We use same UNID with the weapon, but you can use additional virtual weapon as well
&itUNIDWeapon;
; Spawn from gSource
gSource
; Use sysVectorPolarOffset so the beam will not trapped inside ship
(sysVectorPolarOffset gSource direction 1)
; Use direction along with above so the beam will not reflect into odd direction
direction
; 100 is normal beam speed
100
; Set Nil as it should not have target
Nil
)
; Return full damage, if not, they may trigger a bug
aDamageHP
)
</OnDamageArmor>
</Events>
Note: If the weapon has passthrough ability, they may trigger more reflection.