A MAESTRO'S ENCYCLOPAEDIA OF
TA WEAPONRY
the most complete TA weapon reference ever version 1.0
(c)2004 'Maestro' R Setiawan
Publishing right exclusively by Maestro and Estrella's TA Designers.
U may download and share it with friends but you are not allowed to
publish it in any electronically format and you are not allowed to
place it on a web site.
Preface
How to use this tutorial? In case you don't make TA units yourself you
can print this manual and use it to create a paper plane or you might
even use it as toilet paper j/k :D however in case you want to learn
more about how to create a weapon for a TA unit and like to know the
details then this manual will be useful for you.
(cough) seriously you can read this manual in two ways, either
read it section by section or in case you only want to know about a
certain variable you can lookup a variable in the left frame, select it
and you will be directed to the description in the right frame.
Copy left
This
tutorial is personal property of R Setiawan and exclusive publishing
right belongs to TA designers.. U can't publish it in any way without
any agreement with the R Setiawan aka Maestro.
U may copy it, save it to your local hard disk or share it with friends
etc. However you cannot put it in a web site without permission or nor
can you ask money for printouts, you can however sell it for US$ 99 as
a hardcover edition if R Setiawan aka Maestro receives 80% royalties!!.
Feedback
U are free to make complaints or give /comments and feedback, please mail it to maestro_setiawan@lycos.com or bellicose8@hotmail.com (preferred).
Nothing is done yet something has to be done (Napoleon Bonaparte)
Systematical
The tutorial starts with a basic understanding of TA weaponry.
I will describe all parameters necessary for weapons and I will explain how you can get it to work. Most of the variables
(even thing likes explosiongaf and sound section) are surprisingly optional.
Each variable is written in bold, blue color. An example is written in this color
An example can consists of two parts : the syntax of the variable (written in courier font) and sometimes an explanation of the example.
I will also explain the relationship between how a unit works in TA and
how to do some related stuff so you might get a better understanding of
it...
A Maestro Review
BASIC UNDERSTANDING OF TA WEAPONRY
The first time I saw the original TA (OTA) I didn't like it very much mainly because I didn't like the way the units looked, however a lot of 3rd party units solved this 'problem' and the more I learn about the TA engine the more I admire its attention for detail.
Weapon in TA is no an exception: a TA weapon has several aspects of physics.
most TA weapons should have lines that defines the following characteristics
1. Weapon ID (weaponID=xxx;)
2. The weapon path : ballistic or lineofsight, (yup :) )
3. The way the weapon launch : to front (no special parameter),
turret(turret=1;), vertically launched(vlaunch=1;), dropped (dropped=1;) or
meteor (meteor=1;)
Using both turret=1; and vlaunch=1; will result in direct
crash
4. The way the weapon looks : either it is using engine generated laser
or electric bolt, bitmap, or 3D object (3DO file in objects3D folder).
(rendertype=...;)
5. The velocity (velocity=xx;)
6. range of weapon (range=xx;)
7. The damage caused by this weapon (damage=xx;)
Other Variables are optional
And
there are thousand of combinations of those variables to create various
interesting weapons, Here I will only describe what those parameter
means and how to use it. U can always experiment yourself after you
learned about a similar weapon either in a cavedog unit or a 3rd party
unit. I will add some notes in this tutorial which parameters can cause
TA to crash so you can experiment without suffering too much :)
WEAPONRY VARIABLES
WEAPON MOVING PATH
The weapon must have one of the following 3 parameters : dropped, ballistic or lineofsight
ballistic = Weapon is fired according to a ballistic path determined by the gravity value of the map.
example:
ballistic=1;
possible value : 0 & 1. ballistic=0 mean weapon not ballistic and the effect
is equal with not including this parameter at all so don't waste your time.
Related Parameter
weapon velocity : the greater the weapon velocity the more straight its ballistic
path. If weapon velocity is greater than 1000 then it will be not much different
with lineofsight weapon i;e it cant pass ground obstacle and become less accurate.
weapon velocity of 300-500 is the best for artillery imo.
It also related with gravity parameter defined in the map. The greater the map's
gravity then the steeper its ballistic curve path
lineofsight = Weapon is fired in a straight
line, gravity does not effect path.
example:
lineofsight=1;
possible value : 0 & 1. lineofsight=0; have same effects with not including
the parameter.
Related Parameter
tolerance : the max diversion weapon can be fired from line of sight axis. 32k
means weapon can be fired to all direction (180 degree to left and 180 degree
to right)
pitch tolerance : optional, likes tolerance
but it special for vertical diversion. So have pitch tolerance too small and
your antitank missile will be useless ;)
THE WAY A WEAPON IS FIRED
The way a weapon is fired could be a lineofsight weapon (no special variables necessary),
a turret (fired via turret), dropped, vlaunch and like a meteor
dropped = Weapon is dropped in order to use it, typically a bomb.
the effect of this parameter makes the weapon move in a straight
descending path so it will be useless against a plane, and the guidance
parameter will not work for a dropped weapon.
example:
dropped=1;
Related parameter
if U have weapon with both ballistic=1; and dropped=1; then U got a weapon that
dropped in ballistic path :). Example is World Domination TC's carpet bomber
I created
turret = Weapon must be deployed from
a turret with a 360 deg rotation and pitch. so it must have turret related script
(i;e the AimPrimary/AimSecondary/AimTertiary part :) ) without turret scripting
the weapon will be aim-anywhere shot-anywhere weapon
example:
turret=1;
vlaunch
Weapon with vlaunch will be fired vertically. Guidance dont work very well with
this kind of weapon so U must give it quite big number of turnrate if U want
this kind of weapon to be effective
example:
vlaunch=1;
Related Parameter
Vlaunch parameter Cannot be combined with a turret=1; parameter or the game will
crash.
meteor
Used to defines meteor
example:
meteor=1; .
GENERAL CHARACTERISTICS
[Damage]
It is self explaining
parameter, this part defined how much the weapon reduce the MaxDamage point of
target.
There are two part of [DAMAGE] section
the first is default damage
point and the second is specific damage for certain unit
Example
the following exclusive Krogoth Killer weapon will
cause no damage to whatever unit but will kill Krogoth (maxdamage=29489) in one
shot :):
[DAMAGE]
{
default=0;
CORKROG=30000;
}
ID is a unique value in the range 0-255
which identifies the weapon. If there is more than 1 weapons have same ID then
only one will work.
example:
ID=1;
[NAME]
It is a header of all TA weapon. There are 2 name variable for TA weapon this
one is the most important as it is the name that will be used by unitdata as
the name of primary/secondary/tertiary weapon and explosion. If more than one
weapon have same [NAME] variable it might cause one of the weapon doesnt work
even if they have 2 kind of weapon ID
example:
[155mm_artil]
{
ID=28;
name = 155mm superlarge heavy artillery;
=This means the weapon names is 155mm_artil with ID=28. The name = 155mm
super large heavy artillery; just a kind of note that defined the weapon better
so U can write virtually anything here and change it without any impact on the weapon
name
The name of weapon. It only used as reference/description of weapon
example:
see previous entry
noexplode = No explosion
when weapon impacts target
This is not 'kill' the explosion gaf likes what most people think, but it seems
weapon with noexplode=1; when combined with proper parameter then the weapon
not dead when hit the target or ground and keep blowing thing in its path until
its maximum range or weapon timer kill it. An example is CORE macross weapon
and DRAGOTH missile
example:
noexplode=1;
possible value : 0 or 1. Default is, as usual, 0 which means if U don't want
to use noexplode on your weapon dont bother write it.
reloadtime = Seconds between
shots (floating point allowed). put reloadtime=1000 U will feel asleep waiting
the weapon to fire!
example:
reloadtime=10;
Related Parameter
In case for stockpiled weapon the reloadtime defines the time needed to build
the weapon.
After the unit became veteran reloadtime seems to be much faster.(perhaps half
of the stated reloadtime)
weapontimer = How long
weapon is active in seconds (floating point allowed), trajectory weapons use
0 so it is calculated
example:
weapontimer=10;
noautorange = When set the weapon will not detonate at range automatically,
used mostly for heavy rockets
example:
noautorange=1;
turnrate = Used for guided weapons,
is in angular units (0-64k)/second
example:
turnrate=2000;
Related parameter
Turnrate work best for weapon with guidance=1; and selfprop=1;
parameter
Turnrate is maneuverability in degree/second. So faster weapon with same turnrate
seems less agile/maneuverable than slower one since every second faster weapon
reach higher range
areaofeffect = The total area that
receives that damage. It is in pixel measured from the groundzero (center of
explosion). If u ever heard TA unit called MAD (mutually assured destruction)
which destroy anything on screen it is the weapon with area of effect very,very
large
example:
areaofeffect=1000;
Example of overly overpowered weapon of mass destruction. it means weapon will
destroy anything in radius 2 almost screen away (1300 pixel) from where the
weapon hit...even TA nuke only have areaofeffect 512 pixel lol!.
edgeeffectiveness = The percentage (1.0 = 100%) of the damage that is inflicted
at the edge of the area of effect.
example:
edgeofeffectiveness=0.5;
firestarter = Weapon will cause
fires, expressed as a %, where 100% guarantees a fire in tree/forest map
example:
firestarter=50;
unitsonly = Weapon will
only detonate on enemy units as opposed to obstructing terrain.
example:
unitsonly=1;
burst = How many repeat times a weapon
fires in one burst, ie. Flamethrower
example:
burst=5;
Related Parameter
Reload time. burst define number of bullet fired every reloadtime sec.
burstrate = The time delay when
in burst mode between events. Without this weapon will be fired at constant
rate.
example:
burstrate=0.1;
sprayangle = Maximum deviation from the straight line to the target
the weapon strays, used for burst weapons. 64k=360 degree.
example:
sprayangle=3000;
randomdecay = Maximum time
delta that burst weapon will randomly decay at end of path. Sure it must be
smaller than weapon timer
example:
randomdecay=0.5;
groundbounce = Weapon will
not detonate with the ground but instead bounce
example:
groundbounce=1;
possible value : 0 and 1
Good to make grenadelike weapon
flighttime = The time the unit
will fly for after it enters the second phase of operation, used for starburst
missiles.
example:
flighttime=1000;
Related Parameter
Guided missile only : It will reduce the accuracy of weapon. The flighttime
became the time of weapon fly in straight path without aiming the target.
So weapon with flighttime=x; and weapontimer=y; means the weapon will 'hunt
seek' the target for y second and fly without aiming for 'x' ticks (perhaps,
im not sure the time measurement standard of flight time but it is clearly not
second) . When weapon miss it will run in circle until it use all its flighttime
before die.
selfprop = Weapon is
self propelled. Weapon with this parameter can have guidance. possible value
are either 0 or 1 (0 have same effect with not including this parameter at all,
save ur time ;))
Example
selfprop=1;
Related Parameter
Accuracy parameter doesnt work for unit with selfprop=1;.
twophase = Indicates weapon operates
in two phases
example:
twophase=1;
Used for twophase weapon.
Related Parameter
It seems For a vlaunch weapon, when combined with flighttime (likes OTA vlaunch
missile truck) with twophase missile will fly in circle as much as its flighttime
before it really hunting its target i think.
weapontype2 = Describes another
weapon that the weapon turns into in the second phase. It seems doesnt work...
one of cavedog fail effort perhaps....
guidance = Indicates that weapon
is guided and uses the turn rate above to track enemy unit.
example:
guidance=1;
Related Parameter
Guidance will work only with unit that are self prop, and not work with dropped
weapon well
tracks
tracks=1 means the weapon will track a moving target after a weapon conversion
example:
tracks=1;
commandfire
This weapon will can be expressly fired (either attack or d-gun) by the user
each and every time it is used.
example:
commandfire=1;
related parameter
If the weapon is intended to be fired as d-gun it musts :
1. a turret weapon (i;e have turret=1; parameter)
2. It must be put as tertiary weapon of ur unit in unitdata
MinBarrelAngle: The minimum angle (in degrees, 64k=360 deg)
the barrels can point, used in ballistic calculations. This will limit the weapon
capability to engage close range target and good to model realistic weapon that
cannot attack nearby target (i;e artillery)
example :
Minbarrelangle=1000;
cruise
weapon with cruise=1; will always reach the designated target, however guidance
seems dont work for this kind of weapon. Another aspect of this weapon is it
will show a big cross in radar screen (example is TA nuclear).
example :
cruise=1;
burnblow = Weapon will
detonate when it comes to the end of its range
example :
burnblow=1;
accuracy = Accuracy not defines the
weapon accuracy but define the weapon possible inaccuracy instead (i;e degree
of error, a kind of CEP in real world military) in 64k degree to left and right.
Any selfpropelled weapon (i;e most rocket/missile with selfprop=1; parameter)
not affected by this parameter
example :
accuracy=16384;
This means weapon will be
really inaccurate and can miss as much as 90 degree!
tolerance = Amount of accuracy
weapon will use when aiming, it determines the area of attack possibility. As
example aircraft missile with accuracy=16K make the aircraft can attack target
up to 90 degree left and 90 degree right.
pitchtolerance = Similar with
tollerance but this affect in different axis. It is a kind of up/down tolerance.
As example if aircraft carrying weapon with small pitch tolerance then it cant
attack ground target
example :
tolerance=16384;
pitchtolerance=8000;
It means weapon can aim target 90 degree to the left and right but can only
target enemy 45 degree up and down in vertical scope
aimrate = How fast (on average) the weapon aims, in 64K deg / sec. Used
by UnitView.and dont influence the way the unit work in game
SPECIALIZED
WEAPON
The following variables will limit
target that can be engaged by the weapon
ToAirWeapon = weapon will
meant to attack air target, however there is a different effect of this
parameter with in which slot the weapon placed
ToAirWeapon when used as
primary weapon of a unit then the unit wont chase any non-air
target
ToAirWeapon when used as secondary weapon will work likes usual weapon
i;e it will attack ground target too
ToAirWeapon as tertiaryWeapon then the
weapon will only attack air target but unit can still land attack other kind of
target using its primary and secondary weapon
example
:
toairweapon=1;
waterweapon
This means weapon is intended to travel through water.
Any weapon with waterweapon=1; parameter cannot attack ground target
Without this parameter the weapon will explode once it is touch the water. That
is why ground weapon such missile less capable than fixed gun/cannon against
naval target, as missile line of sight path make it hit the water before it
reach the naval target.
If U make an airlaunched missile with waterweapon=1; then the missile will skim
over water likes real world Anti ship missile and good against ship only, an
example is missile on my Tu-22M3 backfire available in TAUS and TA designers
example :
waterweapon=1;
Interceptor
Mean the weapon is intended to destroy other weapon. As example is OTA Anti
Ballistic Missile. However interceptor missile can only engage weapon with targetable=1;
parameter. Interceptor weapon must be stockpile weapon AFAIK
example :
interceptor=1;
coverage is what the protection
umbrella is for weapons that shoot other weapons. it works only for interceptor
weapon. Stated in 64k degree
example :
coverage=32000;
Targetable Add this
and the weapon can be intercepted by interceptor
example
:
targetable=1;
VELOCITY AND RANGE
Any weapon must have Weaponvelocity parameter. Optional is startvelocity. Any weapon with startvelocity should have weaponacceleration parameter.
startvelocity = Weapon will start
at this velocity.
related parameter
startvelocity only work for weapon with weaponacceleration defined.
Since weapon acceleration doesnt work with negative number startvelocity must
be smaller than weaponvelocity. (so U cannot make weapon with initial speed
higher than weaponvelocity)
weaponvelocity
= Maximum attainable weapon veolocity in pixels/second
To compare weapon velocity and unit velocity U must remember that 1 TA unit
speed is equal with 30 pixel/second so if U want a missile to be able to chase
and destroy TA fighter with speed = 10 unit, ur missile speed must be higher
than 10 x 30pix/sec=300.
weaponacceleration
The acceleration of weapon its needs from its start velocity until it reach
its weapon velocity. Number must be greater than 0.
Expressed in
pixels/second/second
examples:
weaponvelocity=450;
startvelocity=150;
weaponacceleration=200;
this means weapons will be fired at speed 150pixel per second then
it will be accelerated 200pixel/second until it reach its maximum speed of 450
pixel/second
range
maximum range of
target that can be attacked by the weapon in pixel
examples:
range=450;
SPECIAL STUFF
paralyzer
Weapon will stun the enemy for a length of time described in the damage field,
damage=60 mean one second paralyze. However paralyzer weapon wont cause any
damage to enemy unit, only stun them
examples:
paralyzer=1;
damage=600;
Means the weapon will paralyze the enemy unit for 10 second
propeller = if the model
has a propeller that spins. Possible
value is 0 and 1. Weapon with object3D will be spinned if have propeller=1;
parameter
examples:
propeller=1;
noradar
weapon cant be seen on radar, used on meteor.
examples:
noradar=1;
shakeduration
Duration of 'quake' caused by the weapon in second
examples:
shakeduration =1.2;
shakemagnitude
How large the of
'quake' caused by the weapon. Maybe in pixel but definitely not in reichter
:P
examples:
shakemagnitude=22;
stockpile
weapon must be build to be fired, likes OTA nuclear and interceptor.
examples:
stockpile=1;
VISUALISATION OF WEAPON
rendertype
examples:rendertype=1;
possible value
:
rendertype=0; laser
weapon
rendertype=1; weapon using 3d model, most missile using
this
rendertype=3; this used for dgun
rendertype=4; this for 2D bitmap and
animated bitmap likes emg and unit explosion etc. U mostly wont use this except
need different explostion for mine/kamikaze type unit
rendertype=5; flame
thrower weapon
rendertype=6; another 3D object likes OTA bomb and WD cannon.
i still try to findout what is its difference with
rendertype=1;
rendertype=7; electrobolt (lightning) laser
model = 3D model to use as this weapon
There is some special character about 3d model of weapon. Unlike unit model
it doesnt need a special base object, however it must have a groundplate. Forgot
to add this and weapon will be a crasher. Function of weapon groundplate is
that TA engine will use it as 'impact point' means that
second character of TA weapon 3D model is that unlike unit model where u can
make some part with different origin point and move it later to its proper coordinate
the 'move' transformation doesnt work for weapon model. Therefore If u make
the weapon consists of some model all the model must have centered in center
of coordinate (z=0, x=0, and y=0)
examples:
model=switchblade;
color = Color of beam weapon from the
game palette
color2 = Color to use on
the beam weapon to make better and cooler, CGT
color must be a number between 0 and 255
examples:
color =11;
color2 =211;
There are basic color
for both lightning and laser weapon (i;e rendertype=0; and rendertype=7;) however
color2 seems to have little effect on lightning type weapon
Check the laser color guide for color list and combination
Notes: sometimes the type of map (desert, green or snow) do affect the way the
laser some index I said light blue will looks a bit green in green maps.
beamweapon = Weapon is a straight beam
weapon like a laser
examples:
beamweapon=1;
duration = this used for beam weapon. It is affects how long the beam will
be emitted from firing piecenum in second. beam with longer duration seems or
higher speed at same duration seems to be longer. It possibly also affects how
long weapon can do some damege
examples:
duration=0.81;
VISUAL EFFECTS
This stuff affects
the way the weapon explode
The explosion gaf and art refer to the .gaf files in /anims folder in unit
hpi/ufo files. If the .gaf and art files (i;e the explosion sequence inside
the gaf) doesnt exist TA will crash when loading anims.
explosiongaf = .GAF file
that the explosion art is in
explosionart = name of animation sequence for explosion in the gaf
both used to define the explosion will appear when weapon hit target or ground
waterexplosiongaf =
.GAF file that the water explosion art is in
waterexplosionart = name of animation
sequence for water explosion in the .gaf
both used to define the explosion will appear when weapon explode in water
lavaexplosiongaf
= .GAF file that the water explosion art is in
lavaexplosionart = name
of animation sequence for water explosion in the .gaf
both used to define the explosion will appear when weapon explode in lava zone
example
:
explosiongaf=varxplo;
explosionart=msexpsm;
waterexplosiongaf=fx;
waterexplosionart=h2o;
lavaexplosiongaf=fx;
lavaexplosionart=lavasplash;
This stuff affects the sounds the weapons make
All sounds variables
is optional, however you wouldnt be happy if your weapon have no sound arent
U ;)
sounds refer to .wav sound files in /sounds inside the sounds folder in the
hpi/ccx/ufo/gpx unit files
soundstart
= Sound to make when the weapon fires
soundhit
= Sound to make when the weapon detonates (if the weapon detonates)
soundwater
= Sound to make when the weapon hits the water
example:
soundstart=bigrock2;
soundhit=BAM2;
soundwater=wetBAM2;
soundtrigger = Make
the weapon sound when the weapon fires in burst mode
example :
burst=5;
soundtrigger=0;
with soundtrigger=0; means the weapon sound will be read only once for one burst,
while if soundtrigger=1; the sound will be repeated 5 times (for every single
round)
This stuff affects
the smokes the weapons make
smoketrail = Indicates whether
or not a weapon will emit a smoke trail.
smokedelay = Smoke dispersal
interval expressed in seconds
example :
smoketrail=1;
smokedelay=0.5;
This means the weapon will emit smoke
trail every 0.5 second
Related Stuff
The smoke will be emited from the center of weapon's 3D object. So if U
want the weapon to emit smoke from its exhaust/nozzle than U must move the pivot
(in case U use 3D Studio MAX) or put the nozzle as center of coordinate (in
case u use lightwave).
startsmoke = Draw a puff of smoke when the weapon fires
example :
startsmoke=1;
endsmoke = Draw a puff of smoke
when weapon terminates
example :
endsmoke=1;
This stuff describes
the amount of metal and energy it takes to fire the weapon if applicable
energypershot
= Amount of energy needed to fire the weapon
metalpershot
= Amount of metal needed to fire the weapon
example :
energypershot=10000;
metalpershot=1000;
those make expensive weapon that can be fired only if U are rich and have 1000
metal and 10000 energy
Both are optional. If U dont have metal and energy as much as defined there
weapon wont fired
Related Parameter
For Stockpile weapon it define the energy and metal needed to build the
weapon
for non stockpiled weapon it is the number of metal and energy u the unit will
use to fire the weapon, in case of stockpiled weapon (like nukes) it is the
amount of metal and energy necessary to build the weapon.