Building Animations
Buildings can display specific animations for when the attached super weapon is
charging, is nearly charged (1 minute remaining in the normal game), is ready to
be fired, and when it fires. However, in Yuri’s Revenge, these
animations only work properly for the original super weapons. In Ares,
these will work for any super weapon. Building animations played correctly for
new super weapons.
New in version 0.1.
Cursors
Ares allows you to specify custom mouse cursors for the super weapon,
using the following flags:
- [SuperWeapon]►Cursor.Frame= (integer)
- Starting frame of the cursor from mouse.sha. Defaults to the Attack
cursor.
- [SuperWeapon]►Cursor.Count= (integer)
- Number of frames in the animated cursor.
- [SuperWeapon]►Cursor.Interval= (integer)
- How often to animate the cursor? Default is 5.
- [SuperWeapon]►Cursor.MiniFrame= (integer)
- Same as Cursor.Frame, except this is for the mouse cursor when
positioned on the minimap.
- [SuperWeapon]►Cursor.MiniCount= (integer)
- Same as Cursor.Count, except this is for the mouse cursor when
positioned on the minimap.
- [SuperWeapon]►Cursor.HotSpot= (HotSpot X, HotSpot Y)
- Specifies the coordinates on the cursor that are considered to be the ‘tip’
that is, the point from which the click event will handled. HotSpot X should
be one of Left, Center or Right. HotSpot Y should
be one of Top, Middle or Bottom. For example,
Cursor.HotSpot=Left,Top will treat the top-left corner of the cursor as
the tip. Default is Center,Middle.
All of the above Cursor.* flags have a corresponding NoCursor.*
flag, which allows you to specify the cursor that will be displayed when the
mouse pointer is positioned over a point where the super weapon cannot be fired
(e.g. the Force Shield cannot be fired over empty ground, so will display an
alternate cursor to indicate this).
The NoCursor.* flags default to the same value as their Cursor.*
counterparts.
New in version 0.1.
Cameo Overlay Texts
These texts will overlay the cameo in the sidebar to show the super weapon’s
current status.
- [SuperWeapon]►Text.Hold= (CSF label)
- Overlay displayed in case this super weapon is powered and can’t currently
charge because the building is shut down.
- [SuperWeapon]►Text.Ready= (CSF label)
- Overlay displayed in case this super weapon is fully charged and ready to be
launched.
- [SuperWeapon]►Text.Charging= (CSF label)
- Overlay displayed in case this super weapon has UseChargeDrain=yes set
and can be fired, but it isn’t fully charged yet.
- [SuperWeapon]►Text.Active= (CSF label)
- Overlay displayed in case this super weapon has UseChargeDrain=yes set
and is currently enabled and draining.
- [SuperWeapon]►Text.Preparing= (CSF label)
- Overlay displayed in case none of the above texts are shown for this super
weapon. That is, for example, charging for super weapons not using charge
drain.
New in version 0.2.
Enhanced Super Weapon Types
Type=LightningStorm
Default values for general tags:
- [SuperWeapon]►SW.Range= (float,integer)
- Area around the target location the Lightning Storm strikes. Note that a
single value denotes the diameter of a circle - this is not the radius.
Defaults to [General]►LightningCellSpread.
- [SuperWeapon]►SW.Damage= (integer)
- The damage each lightning bolt delivers. Defaults to
[General]►LightningDamage.
- [SuperWeapon]►SW.Warhead= (Warhead)
- The warhead used to deal the damage of each lightning bolt. Defaults to
[General]►LightningWarhead.
- [SuperWeapon]►SW.Deferment= (integer frames)
- Defaults to [General]►LightningDeferment.
- [SuperWeapon]►SW.ActivationSound= (Sound)
- Defaults to [AudioVisual]►StormSound.
- [SuperWeapon]►SW.AITargeting= (enum)
- Defaults to LightningStorm.
- [SuperWeapon]►Light.*= (integer)
- Default to the scenario’s [Lighting]►Ion*.
Lightning Storm specific tags:
- [SuperWeapon]►Lightning.Duration= (integer - frames)
- The length the Lightning Storm endures. A value of -1 means
indefinite duration. Defaults to [General]►LightningStormDuration.
- [SuperWeapon]►Lightning.RadarOutage= (integer - frames)
- The number of frames radars are jammed for players defined by
SW.AffectsHouse. Defaults to [General]►LightningStormDuration.
- [SuperWeapon]►Lightning.RadarOutageAffects= (enum)
- Specifies the houses affected by radar outage. Defaults to enemies.
- [SuperWeapon]►Lightning.HitDelay= (integer - frames)
- The number of frames between two clouds being created over the target cell.
Values of 0 or lower will disable direct hits. Clouds created by this
mechanism are never subject to separation rules (see below). Defaults to
[General]►LightningHitDelay.
- [SuperWeapon]►Lightning.ScatterDelay= (integer - frames)
- The number of frames between clouds getting created over a random cell in the
super weapon’s range. Values of 0 or lower will disable random hits. Only
clouds created by this mechanism are subject to separation rules (see below).
Defaults to [General]►LightningScatterDelay.
- [SuperWeapon]►Lightning.ScatterCount= (integer)
- The number of new clouds created every Lightning.ScatterDelay frames.
Values of 0 or lower will disable random hits. Defaults to 1.
- [SuperWeapon]►Lightning.Separation= (integer - distance)
- The least number of cells between two random clouds to better distribute
damage. This is not the direct distance, but rather the sum of the differences
of the x and y components. Values of 0 or lower will disable separation rules.
Defaults to [General]►LightningSeparation.
- [SuperWeapon]►Lightning.PrintText= (boolean)
- Enables the warning text appearing shortly before the Lightning Storm strikes.
Defaults to [General]►LightningPrintText.
- [SuperWeapon]►Lightning.IgnoreLightningRod= (boolean)
- Disables the special handling for buildings with LightningRod=yes set.
Defaults to no.
- [SuperWeapon]►Lightning.DebrisMin= (integer)
- The least number of debris created when lightning strikes empty cells or
destroys a building or a unit. Defaults to 2.
- [SuperWeapon]►Lightning.DebrisMax= (integer)
- The largest number of debris created when lightning strikes empty cells or
destroys a building or a unit. Defaults to 4.
- [SuperWeapon]►Lightning.CloudHeight= (integer - leptons)
- The height above the ground the clouds get created in. Values less than 0 will
center the cloud image on top of the first bolt anim from the list (for the
original game this is about 1200). Defaults to -1.
- [SuperWeapon]►Lightning.BoltExplosion= (Animation)
- Every lightning bolt will display this damage animation upon impact. Defaults
to [General]►WeatherConBoltExplosion.
- [SuperWeapon]►Lightning.Sounds= (list of Sounds)
- A comma separated list of sounds played when lightning strikes. Defaults to
[AudioVisual]►LightningSounds.
- [SuperWeapon]►Lightning.Clouds= (list of Animation)
A comma separated list of cloud animations. Defaults to
[General]►WeatherConClouds.
Note
If this list is empty, the Lightning Storm super weapon will
not function.
- [SuperWeapon]►Lightning.Bolts= (list of Animation)
A comma separated list of bolt animations. If this list is empty, the damage
is caused even though no bolts are shown. Defaults to
[General]►WeatherConBolts.
Warning
Do not use Bouncer=yes animations with
Lightning.Bolts. This leads to crashes if a building is hit.
- [SuperWeapon]►Lightning.Debris= (list of Animation)
- A comma separated list of animations used as debris when lightning strikes.
Defaults to [General]►MetallicDebris.
Other changes:
Lightning rods attract random lightning that is about to strike in close range.
For more information see the Lightning Rods section.
New in version 0.2.
Type=MultiMissile
Default values for general tags:
- [SuperWeapon]►SW.Damage= (integer)
- The damage the nuclear missile delivers. Negative values indicate to use the
payload weapon’s damage. Defaults to -1.
- [SuperWeapon]►SW.Warhead= (Warhead)
- The warhead used to deal the damage of the nuke. If this is empty, the payload
weapon’s warhead will be used. Defaults to none.
- [SuperWeapon]►SW.ActivationSound= (Sound)
- The nuke warn siren played at the destination. Defaults to
[AudioVisual]►DigSound.
- [SuperWeapon]►SW.AITargeting= (enum)
- Defaults to Nuke.
- [SuperWeapon]►Light.*= (integer)
- Default to Light.Ambient=200, Light.Red=175,
Light.Green=150, and Light.Blue=125 respectively.
Nuclear missile specific tags:
- [SuperWeapon]►Nuke.Payload= (Weapon)
- The Weapon used to display the downward-pointing nuke and as default, if
SW.Damage and SW.Warhead aren’t set. Defaults to
NukePayload.
- [SuperWeapon]►Nuke.TakeOff= (Animation)
- The Animation played on the missile silo when the missile is launched.
Defaults to [General]►NukeTakeOff.
- [SuperWeapon]►Nuke.PsiWarning= (Animation)
- The Animation played at the nuke target, detectable by Psychic Sensors.
Defaults to PSIWARN.
- [SuperWeapon]►Nuke.SiloLaunch= (boolean)
- Whether this missile is launched from a building with NukeSilo=yes
providing this super weapon. Otherwise the weapon defined by
Nuke.Payload is created off-screen, aiming for the target cell.
Defaults to yes.
Other changes:
Use WeaponType to control the properties of the upward flying animation
(especially its Projectile). Ares respects the WeaponType
for every nuke, it will not use the WeaponType of the first superweapon
with Type=Nuke like Yuri’s Revenge did. Also mind to set
NukeMaker=yes on the WeaponType, otherwise the nuke will not come
down again.
Ares supports multiple buildings with NukeSilo=yes providing this
super weapon. Yuri’s Revenge only tried to find the first building type
that matched those criteria.
Yuri’s Revenge supported the nuke impact animation only for the warhead
called NUKE, hardcoded to NUKEBALL. To change this animation in
Ares, have a look at PreImpactAnim.
New in version 0.2.
Type=PsychicDominator
Default values for general tags:
- [SuperWeapon]►SW.Range= (float,integer)
- Area around the target location the Psychic Dominator captures. This does not
affect the damage. Defaults to [General]►DominatorCaptureRange.
- [SuperWeapon]►SW.Damage= (integer)
- The damage the Psychic Dominator delivers right before capturing. No damage is
dealt if this value is 0 or negative. Defaults to
[General]►DominatorDamage.
- [SuperWeapon]►SW.Warhead= (Warhead)
- The warhead used to deal the damage. Defaults to
[General]►DominatorWarhead.
- [SuperWeapon]►SW.Deferment= (integer - frames)
- Defaults to 0.
- [SuperWeapon]►SW.ActivationSound= (Sound)
- Defaults to [AudioVisual]►PsychicDominatorActivateSound.
- [SuperWeapon]►SW.AITargeting= (enum)
- Defaults to PsychicDominator.
- [SuperWeapon]►SW.AffectsHouse= (enum)
- Specifies the houses affected by the capture. Defaults to all.
- [SuperWeapon]►SW.AffectsTarget= (enum)
- Specifies which types the capture affects. Defaults to
infantry,units.
- [SuperWeapon]►Light.*= (integer)
- Default to the scenario’s [Lighting]►Dominator*.
Psychic Dominator specific tags:
- [SuperWeapon]►Dominator.FirstAnim= (Animation)
- The Animation hovering above the target for some time before the Psychic
Dominator strikes. Defaults to [General]►DominatorFirstAnim.
- [SuperWeapon]►Dominator.FirstAnimHeight= (integer - leptons)
- The height the Dominator.FirstAnim is played above the ground. Defaults
to 750.
- [SuperWeapon]►Dominator.SecondAnim= (Animation)
- The Animation hovering above the target when the Psychic Dominator strikes.
Defaults to [General]►DominatorSecondAnim.
- [SuperWeapon]►Dominator.SecondAnimHeight= (integer - leptons)
- The height the Dominator.SecondAnim is played above the ground.
Defaults to 0.
- [SuperWeapon]►Dominator.FireAtPercentage= (integer)
- After this percentage of the Dominator.FirstAnim‘s frames have been
played, the Dominator is fired. This is the actual percentage, 20 is
20%. Don’t use decimal numbers. Defaults to
[General]►DominatorFireAtPercentage.
- [SuperWeapon]►Dominator.ControlAnim= (Animation)
- The Animation displayed above units being mind-controlled by the Dominator
permanently. Defaults to [CombatDamage]►PermaControlledAnimationType.
- [SuperWeapon]►Dominator.Capture= (boolean)
- Defines whether this Psychic Dominator captures units in its range. Otherwise
only the damage is dealt. Defaults to yes.
- [SuperWeapon]►Dominator.Ripple= (boolean)
- Defines whether this Psychic Dominator creates a ripple effect when the
Psychic Dominator strikes. Defaults to yes.
- [SuperWeapon]►Dominator.CaptureMindControlled= (boolean)
- Defines whether this Psychic Dominator can capture units that are
mind-controlled already. Otherwise already mind-controlled units are ignored.
Defaults to yes.
- [SuperWeapon]►Dominator.CapturePermaMindControlled= (boolean)
- Defines whether this Psychic Dominator can capture units that are permanently
mind-controlled already. Otherwise already permanently mind-controlled units
are ignored. Defaults to yes.
- [SuperWeapon]►Dominator.CaptureImmuneToPsionics= (boolean)
- Defines whether this Psychic Dominator can capture units that usually aren’t
mind-controllable. Setting this to yes ignores the
ImmuneToPsionics tag on its victims. Defaults to no.
- [SuperWeapon]►Dominator.PermanentCapture= (boolean)
- Defines whether the victims are permanently mind-controlled. Setting this to
no allows other mind-controllers to re-capture the victim, otherwise
it will be uncapturable. Defaults to yes.
New in version 0.2.
Type=ChronoSphere
The ChronoSphere type super weapon needs a ChronoWarp type
super weapon. If you have more than one ChronoSphere super weapons, you
can reuse the same ChronoWarp super weapon for all of them, or create
dedicated super weapons if you want to. See SW.PostDependent.
Default values for general tags:
- [SuperWeapon]►SW.Range= (float,integer)
- Range affected by the chronoshift. Defaults to 3,3.
- [SuperWeapon]►SW.Animation= (Animation)
- The placement animation indicating the source location for the chronoshift.
Defaults to [General]►ChronoPlacement.
- [SuperWeapon]►SW.AnimationHeight= (integer)
- The height the SW.Animation is played above the ground. Defaults to
5.
- [SuperWeapon]►SW.AITargeting= (enum)
- Defaults to none. The AI cannot use this.
- [SuperWeapon]►SW.AffectsHouse= (enum)
- Specifies the houses affected by the chronoshift. Defaults to all.
- [SuperWeapon]►SW.AffectsTarget= (enum)
Specifies which types the chronoshift affects. Defaults to
infantry,units.
Note
Please note that buildings with Chronoshift.IsVehicle=yes are
considered units and not buildings, if
Chronosphere.ReconsiderBuildings=yes is set.
- [SuperWeapon]►SW.PostDependent= (super weapon)
- Specifies the super weapon used to select the target cell for the chronoshift
by ID. Defaults to the first ChronoWarp type super weapon in the
SuperWeaponTypes list.
Chronosphere specific tags:
- [SuperWeapon]►Chronosphere.BlastSrc= (Animation)
- The Animation played above the source when the chronoshift is started.
Defaults to [General]►ChronoBlast.
- [SuperWeapon]►Chronosphere.BlastDest= (Animation)
- The Animation played above the destination when the chronoshift is started.
Defaults to [General]►ChronoBlastDest.
- [SuperWeapon]►Chronosphere.ReconsiderBuildings= (boolean)
- Defines whether the chronoshift will consider buildings with
Chronoshift.IsVehicle=yes as vehicles instead. Otherwise
deployed-vehicle type buildings always count as buildings like with the
original Chronosphere. Defaults to yes.
- [SuperWeapon]►Chronosphere.KillOrganic= (boolean)
- Defines whether the chronoshift will kill all organic units. Otherwise the
units will not be killed by the chronoshift and teleport instead. Defaults to
yes.
- [SuperWeapon]►Chronosphere.KillTeleporters= (boolean)
- Defines whether the chronoshift will kill units with Teleporter=yes
set. Otherwise the units will be chronoshifted. Defaults to no.
- [SuperWeapon]►Chronosphere.AffectsIronCurtain= (boolean)
- Defines whether the chronoshift will affect iron curtained units. Otherwise
the units will be ignored. Defaults to no.
- [SuperWeapon]►Chronosphere.AffectsUnwarpable= (boolean)
- Defines whether the chronoshift will affect units with Warpable=no set.
Otherwise the units will be ignored. Defaults to yes.
- [SuperWeapon]►Chronosphere.AffectsUndeployable= (boolean)
Defines whether the chronoshift will affect buildings that can be undeployed
into units again. Effectively, if a building has UndeploysInto= set and
this value is yes, SW.AffectsTarget and
Chronoshift.IsVehicle are bypassed and the building is chronoshifted
with vehicle placement rules. Defaults to no.
Note
“Undeployable” means buildings that can undeploy, rather than
“vehicles that cannot deploy”.
- [SuperWeapon]►Chronosphere.BlowUnplaceable= (boolean)
- Defines whether the chronoshift will destroy buildings that don’t fit in the
target location, otherwise the buildings will stay at the source location.
This function will not spare units that have been deployed into buildings.
Defaults to yes.
Other changes:
It is now possible to chronoshift buildings. Note that there is a difference to
chronoporting units: If a building cannot be placed in the target location it
will blow up in the source location (if the default
Chronosphere.BlowUnplaceable=yes is used). Vehicle-type buildings will
try to find a fitting place just like units would.
See Chronoshift to prevent objects from being
chronoshifted.
Warning
There are several known issues with chronoshifting buildings that
haven’t been fixed yet. For example, buildup animations will restart and the
turret facing is reset.
New in version 0.2.
Type=ChronoWarp
The ChronoWarp type super weapon is fired at the target location of the
chronoshift and marks the position the units will be teleported to. If you have
a ChronoSphere type super weapon you have to have one
ChronoWarp type super weapon, too.
From the ChronoWarp type super weapon only the targeting and cursor
properties are used, as well as Range to indicate the area of effect by
drawing radial lines around the cursor. SW.Range is not used.
For the actual chronoshifting tags, see ChronoSphere.
New in version 0.2.
Type=IronCurtain and Type=ForceShield
The difference between Type=IronCurtain and Type=ForceShield are
the default values used. Type=ForceShield will always use the force
shield protection color for buildings, otherwise the iron curtain color is used.
At the moment, the color cannot be customized.
Default values for general tags:
- [SuperWeapon]►SW.Range= (float,integer)
- Range affected by the protection. Defaults to
[General]►ForceShieldRadius for ForceShield, to 3,3
otherwise.
- [SuperWeapon]►SW.Animation= (Animation)
- Defaults to [General]►ForceShieldInvokeAnim for ForceShield, to
[General]►IronCurtainInvokeAnim otherwise.
- [SuperWeapon]►SW.AnimationHeight= (integer)
- The height the SW.Animation is played above the ground. Defaults to
5.
- [SuperWeapon]►SW.AITargeting= (enum)
- Defaults to ForceShield for ForceShield, to none
otherwise and the AI cannot use this.
- [SuperWeapon]►SW.AffectsHouse= (enum)
- Specifies the houses affected by the protection. Defaults to team for
ForceShield, to all otherwise.
- [SuperWeapon]►SW.AffectsTarget= (enum)
- Specifies which types the protection affects. Defaults to buildings
for ForceShield, to all otherwise.
- [SuperWeapon]►SW.RequiresTarget= (enum)
- Specifies which types the protection can be fired upon. Defaults to
buildings for ForceShield, to all otherwise.
- [SuperWeapon]►SW.RequiresHouse= (enum)
- Defaults to team for ForceShield, to none
otherwise.
Iron Curtain and Force Shield specific tags:
- [SuperWeapon]►Protect.Duration= (integer - frames)
- The length the protection effect endures. Defaults to
[General]►ForceShieldDuration for ForceShield, to
[CombatDamage]►IronCurtainDuration otherwise.
- [SuperWeapon]►Protect.PowerOutage= (integer - frames)
- The length the owning player will expericence a power outage after firing this
super weapon. Defaults to [General]►ForceShieldBlackoutDuration for
ForceShield, to 0 otherwise.
- [SuperWeapon]►Protect.PlayFadeSoundTime= (integer - frames)
- This many frames before the protection effect ends the
[SuperWeapon]►SpecialSound is played. Must be lower than
Protect.Duration. Defaults to
[General]►ForceShieldPlayFadeSoundTime for ForceShield, to
0 otherwise.
New in version 0.2.
Type=GeneticConverter
Default values for general tags:
- [SuperWeapon]►SW.Range= (float,integer)
- The area the Genetic Mutator affects. Ignored if Mutate.Explosion=yes.
Defaults to 3,3.
- [SuperWeapon]►SW.Damage= (integer)
- The damage the Genetic Mutator delivers if Mutate.Explosion=yes.
Defaults to 10000.
- [SuperWeapon]►SW.Warhead= (Warhead)
- The warhead used to deal the damage. Defaults to
[SpecialWeapons]►MutateExplosionWarhead if Mutate.Explosion=yes,
to [SpecialWeapons]►MutateWarhead otherwise.
- [SuperWeapon]►SW.Animation= (Animation)
- Defaults to [General]►IonBlast.
- [SuperWeapon]►SW.AnimationHeight= (integer)
- Defaults to 5.
- [SuperWeapon]►SW.Sound= (Sound)
- Defaults to [AudioVisual]►GeneticMutatorActivateSound.
- [SuperWeapon]►SW.AITargeting= (enum)
- Defaults to GeneticMutator.
- [SuperWeapon]►SW.AffectsHouse= (enum)
- Specifies the houses affected by the mutation, if Mutate.Explosion=no.
Defaults to all.
- [SuperWeapon]►SW.AffectsTarget= (enum)
- Specifies whether the mutation effect should be limited to land or
water targets. You cannot define any unit type here and they will be
ignored. Ignored if Mutate.Explosion=yes. Defaults to all.
Genetic Mutator specific tags:
- [SuperWeapon]►Mutate.Explosion= (boolean)
- Switches between two modes. If yes, the Genetic Mutator will cause an
explosion using SW.Warhad and SW.Damage without respecting any
other Genetic Mutator specific tags. Otherwise all infantry units in range are
killed using SW.Warhead, verses and immunities are ignored. Defaults to
[General]►MutateExplosion.
- [SuperWeapon]►Mutate.IgnoreCyborg= (boolean)
- Whether the Genetic Mutator will not affect infantry with Cyborg=yes
set. Ignored if Mutate.Explosion=yes. Defaults to no.
- [SuperWeapon]►Mutate.IgnoreNotHuman= (boolean)
- Whether the Genetic Mutator will not affect infantry with NotHuman=yes
set. Ignored if Mutate.Explosion=yes. Defaults to no.
- [SuperWeapon]►Mutate.KillNatural= (boolean)
- Whether the Genetic Mutator will just kill infantry with Natural=yes
set opposed to affecting it using SW.Warhead. Ignored if
Mutate.Explosion=yes. Defaults to yes.
New in version 0.2.
Type=ParaDrop and Type=AmerParaDrop
Default values for general tags:
- [SuperWeapon]►SW.AITargeting= (enum)
- Defaults to ParaDrop.
The original flags that control the units provided by the generic paradrop super
weapons (AllyParaDropInf, SovParaDropInf and
YuriParaDropInf) and the American paradrop (AmerParaDropInf) only
accept InfantryTypes. If you try to include a VehicleType via
these lists then the game will create a new InfantryType instead - with
the same parameters as the existing VehicleType - ultimately resulting
in an invisible InfantryType being delivered in the paradrop.
With Ares, there are new country-specific flags that override the old
flags and enhance the way paradrops are delivered. ParaDrop.Types will
accept VehicleTypes as well as InfantryTypes. You can send
multiple airplanes of user-defined type.
Each plane consists of the following properties:
- [SuperWeapon]►ParaDrop.Types= (list of InfantryTypes and/or VehicleTypes)
The units that will be paradropped by this super weapon. For
Type=AmerParaDrop super weapons, this defaults to
AmerParaDropInf=.
Note
The original flags used to control the paradrop units only accept
InfantryTypes. To include VehicleTypes in a paradrop you
must use the new ParaDrop.Types and ParaDrop.Num flags.
- [SuperWeapon]►ParaDrop.Num= (list of integers)
- The quantity of each corresponding unit (listed against ParaDrop.Types)
that will be paradropped. For Type=AmerParaDrop super weapons, this
defaults to AmerParaDropNum=.
- [SuperWeapon]►ParaDrop.Aircraft= (AircraftType)
- The type of aircraft that will deliver the units. Defaults to the
corresponding country’s ParaDrop.Aircraft=.
- [SuperWeapon]►ParaDrop.Count= (integer - number of planes)
- This controls how many planes should be send to drop paratroopers. Defaults to
1.
You can define every plane for each country, side or the super weapon
separately. The syntax is as follows:
- [Superweapon]►ParaDrop.ID.PlaneX.*=
- ID is name of the country or side. X is a positive integer, with no
leading zeros, starting with 2 up to Count. To customize the first plane
(which will also act as the default plane), do not use the PlaneX segment.
If you want to set the default properties for all sides, do not use the ID
segment. The Count tags can’t have a PlaneX segment.
The Airplane and its contents will be read separately, thus it is possible to
only define Aircraft; Types and Nums will use the default
value by going though the list until the tags are defined. This also works vice
versa.
Types and Nums have to be defined together; it is not possible to
change the number of units without restating the types.
Values are read in this order, top down. The first value found is used.
- [Superweapon]►ParaDrop.Country.PlaneX.*= (the SW’s country-specific
plane number X)
- [Superweapon]►ParaDrop.Side.PlaneX.*= (the SW’s side-specific plane
number X)
- [Superweapon]►ParaDrop.PlaneX.*= (the SW’s default plane number X)
- [Superweapon]►ParaDrop.Country.*= (the SW’s country-specific default
plane)
- [Superweapon]►ParaDrop.Side.*= (the SW’s side-specific default plane)
- [Superweapon]►ParaDrop.*= (the SW’s default plane)
- [Country]►ParaDrop.*= (the country-specific default plane)
- [Side]►ParaDrop.*= (the side-specific default plane)
- [General]►*= (the Rules’ default plane)
Examples:
- [Superweapon]►ParaDrop.Russia.Plane3.Types=BORIS (and proper
Nums) would replace the contents of the third plane for the country
Russia.
- [Superweapon]►ParaDrop.Nod.Aircraft=SPLANE would replace the aircraft
for all Soviet side countries.
Quickstart
To give all countries the same items, use
[Superweapon]►ParaDrop.Count=, [Superweapon]►ParaDrop.Aircraft=,
[Superweapon]►ParaDrop.Types=, and [Superweapon]►ParaDrop.Num=.
This creates a clone of the American Paradrop.
You can create unlimited new paradrop superweapons with different properties.
Type=ParaDrop and Type=AmerParaDrop are treated equally, but they
differ by the default values. The AI will use both types as in the unmodified
game.
New in version 0.2.
Type=SpyPlane
Default values for general tags:
- [SuperWeapon]►SW.AITargeting= (enum)
- Defaults to ParaDrop.
Spy Plane specific tags:
- [SuperWeapon]►SpyPlane.Type= (AircraftType)
- The AircraftType that will be sent as a spy plane. Defaults to
SPYP.
- [SuperWeapon]►SpyPlane.Count= (integer)
- The number of spy planes to be sent out. Defaults to 1.
- [SuperWeapon]►SpyPlane.Mission= (mission)
- The mission that the aircraft will be sent on (Guard,
Attack, Move, etc). Defaults to SpyPlane_Approach.
New in version 0.1.
Type=PsychicReveal
Default values for general tags:
- [SuperWeapon]►SW.Range= (float,integer)
- Range revealed by this super weapon. Defaults to
[CombatDamage]►PsychicRevealRadius. The default value is capped at 10,
mimicking the original implementation using Cell Spread. To disable this
limitation, set SW.Range explicitly.
- [SuperWeapon]►SW.Sound= (Sound)
- Defaults to [AudioVisual]►PsychicRevealActivateSound.
- [SuperWeapon]►SW.AITargeting= (enum)
- Defaults to ParaDrop.
New in version 0.2.
New Super Weapon Types
Type=SonarPulse
The Sonar Pulse is a variation of the original Sonar Pulse known from
Red Alert it will cause any cloaked units in range or on the entire
map to temporarily decloak. New super weapon type: SonarPulse (briefly
reveals cloaked units).
Default values for general tags:
- [SuperWeapon]►SW.Range= (float,integer)
- The radius, in cells, that the decloak effect will be applied. Use negative
values to reveal all units on the map. When using full-map sonar you don’t
have to select a target location, instead the super weapon will be fired when
you click its cameo icon. Defaults to 10.
- [SuperWeapon]►SW.AITargeting= (enum)
- Defaults to Stealth.
- [SuperWeapon]►SW.AffectsHouse= (enum)
- Specifies the houses affected by the sonar reveal. Defaults to
enemies.
- [SuperWeapon]►SW.AffectsTarget= (enum)
- Specifies which types the sonar affects. Defaults to water, all unit
types situated on water cells.
Sonar Pulse specific tags:
- [SuperWeapon]►SonarPulse.Delay= (integer - frames)
- The duration that the decloak effect will last. Defaults to 60.
Note
If the affected unit gained its cloaking ability via
VeteranAbilities or EliteAbilities then it will only decloak
for a moment, as opposed to the full duration specified by the super weapon.
New in version 0.1.
Type=GenericWarhead
The Generic Warhead super weapon will detonate the specified warhead at the
target cell.
Default values for general tags:
- [SuperWeapon]►SW.Damage= (integer)
- The amount of damage that will be dealt by the warhead.
- [SuperWeapon]►SW.Warhead= (warhead)
- The warhead that will be detonated when in the target cell when the super
weapon is fired. Note the warhead is detonated in a cell, not on a unit, so
chances are you will want to set a CellSpread on the warhead to make
sure the desired targets (especially InfantryTypes) are affected.
- [SuperWeapon]►SW.AITargeting= (enum)
- Defaults to Offensive.
Don’t forget that the BuildingType will need DamageSelf=yes set
(just like the Soviet Nuclear Missile Silo) if you want the warhead to be
capable of damaging the firing building.
New in version 0.1.
Type=UnitDelivery
The Unit Delivery super weapon will create the specified unit(s) in the target
cell. This uses the CellSpread model to place the units.
Default values for general tags:
- [SuperWeapon]►SW.AITargeting= (enum)
- Defaults to ParaDrop.
Unit Delivery specific tags:
- [SuperWeapon]►Deliver.Types= (list of TechnoTypes)
- The list of units that will be delivered. This works for infantry, vehicles,
aircraft and buildings.
- [SuperWeapon]►Deliver.Buildups= (boolean)
- Whether or not buildings delivered by this super weapon should play their
buildup animation prior to becoming available. Defaults to no.
All objects are placed on the ground, including aircraft. Flying units that
never land (e.g. the Rocketeer and Kirovs) will take off. If a cell is occupied,
the super weapon will retry on the next cell and so on, until the object gets
placed. Once the first unit is placed, this process starts again for the next
item in the list. Infantry squads are grouped in a single cell. The search will
skip an item if it has not been placed after testing 100 cells.
You can mix in naval units and they will be placed where they can normally
exist.
If you have more than one building, the resulting placement might look
odd.
The actual delivery of the units happens all at once, on the 20th frame after
firing the super weapon. This delayed-effect logic will most likely be
customizable in future and so, in future, the delay for this super weapon may
default to a different amount.
New in version 0.1.
Type=Firestorm
This superweapon is a recreation of the Tiberian Sun Firestorm
superweapon.
When activated, all structures owned by the firing player that have
Firestorm.Wall=yes set will emit an energy field, blocking all hostile
projectiles (except those with SubjectToFirestorm=no set) from passing
through. The energy field also destroys any friend or foe unlucky (or stupid)
enough to come into direct contact with active cells.
BuildingTypes with Firestorm.Wall=yes set will act as a section
of the Firestorm Wall and auto-connect to other nearby pieces (check the
original building’s SHP from Tiberian Sun to see how the art is
controlled).
This super weapon uses the old Charge/Drain logic: once activated, the effect
will persist for a duration determined by SW.ChargeToDrainRatio, after
which it will automatically shut down and the superweapon will restart its
charging process. Whilst the effect is active you can click the super weapon
button again to manually deactivate it, thus allowing the recharge process to
begin earlier and finish faster. See Charge/Drain.
Refer to ModEnc for
more information about Charge/Drain logic.
In Tiberian Sun, the Charge/Drain feature was disableable through an
INI flag ([SuperWeapon]►UseChargeDrain=no) however: Ares forces
this logic to be used regardless of the value of that flag. Ares also
forces this super weapon to ignore its assigned Action, if any, as this
is required to make it activate from a single click of the sidebar icon.
The AI will not use this super weapon.
Note
The animations used by this logic are temporarily hard-coded to
FSIDLE, FSGRND and FSAIR, as was used in
Tiberian Sun.
Note
The AI has a lot of problems with targets behind an active Firestorm
Wall, although this should not be a major problem due to the relatively small
amount of game time that the Wall is active for.
New in version 0.1.