The three virtues of a programmer: Laziness, Impatience, and Hubris. – Larry Wall
Legacy:IonCannon
Satellite that floats in the air above a level and generates an ion blast when triggered by PainterFire.
All IonCannons in a map form a linked list with the first ion cannon's bFirstCannon
property set to True
and nextCannon
pointing to the next ion connon. This list is used by the Ion Painter gun to quickly find a cannon that can attack the specified location.
Contents
Properties
Main
- int Damage
- per wave
- float DamageRadius
- of final wave
- class<DamageType> DamageType
- Sound FireSound
- class<IonEffect> IonEffectClass
- Vector MarkLocation
- float MaxAngle
- The maximum angle the cannon may deviate from pointing straight down when firing. The default value is 45, and this is a fine example of Digital Extremes not RTFM. UnrealScript trig Global Functions are in Wikipedia:Radians, so 45 actually means about 7 degrees. Which is why default cannons won't fire very far from the spot beneath them. If you want 45 degrees, use 0.785.
- float MaxRange
- default 10,000
- float MinRange
- default 1,000
- float MomentumTransfer
- per wave
- vector ShakeOffsetMag
- max view offset vertically
- vector ShakeOffsetRate
- how fast to offset view vertically
- float ShakeOffsetTime
- how much time to offset view
- vector ShakeRotMag
- how far to rot view
- vector ShakeRotRate
- how fast to rot view
- float ShakeRotTime
- how much time to rot the instigator's view
Hidden
- Vector BeamDirection
- bool bFirstCannon
- Vector DamageLocation
- AvoidMarker Fear
- IonCannon nextCannon
Triggerable?
It's not possible to use a trigger or a zone to activate the Ion Cannon when a player encroaches the trigger radius. But it would be possible to create an "IonCannonTrigger" or a custom volume which upon triggering selects an ion cannon and makes it fire at a specified actor or the event instigator.
There is a custom class at Anozireth/IonTrigger. You can either tell it to fire at a specified target or simply at the player who triggered it. You can set the minimum delay between firings, and you can set a maximum number of firings.