Total Annihilation Core Contingency v3.1 bug fix patch
Dated: March 20, 2000
Version: 1.4
LITE INSTALL VERSION!

If you're having trouble with TA Bugfix, email me at Switeck@hotmail.com!

Purpose of this patch:
---------------------

Originally, TA has referances to nonexistant files, paradoxical causalty loops, characters where numbers are expected, garbage strings, and data that cannot possibly be correct. Although supposedly none of these problems will crash TA, the long list of *DEFINITE* bugs in TA puts its reliability in doubt. That alone should be justification for this patch which attempts to fix as much of that as possible.

This is what the patch contains:
-------------------------------

Unit ID Number Changes:
----------------------

18 Cavedog units share the same unit id #:

 Unit       Name                   Description               id#                    new id#
------   ----------------         -----------               ---                    -------
ARMCA    Construction Aircraft     Tech Level 1               18                      18
ARMCSA   Construction Seaplane     Tech Level 1               18 *CONFLICT: ARMCA    400 *
CORCA    Construction Aircraft     Tech Level 1               90                      90
CORCSA   Construction Seaplane     Tech Level 1               90 *CONFLICT: CORCSA   403 *
ARMDECOM Decoy Commander           Decoy Commander           232                     232
CORDECOM Decoy Commander           Decoy Commander           232 *CONFLICT: ARMDECOM 404 *
ARMPLAT  Seaplane Platform         Builds Seaplanes          242                     242
CORPLAT  Seaplane Platform         Builds Seaplanes          242 *CONFLICT: ARMPLAT  405 *
ARMMANNI Penetrator                Mobile Energy Weapon      269                     401 *
CORSUMO  Sumo                      Adv. Armored Assault Kbot 269 *CONFLICT: ARMMANNI 269
CORSS    Sea Serpent               Indigenous Lifeform       277                     406 *
CORSSUB  Leviathan                 Battle Sub                277 *CONFLICT: CORSS    277
CORUWES  Underwater Energy Storage Increases Energy Storage  293                     293
CORUWMS  Underwater Metal Storage  Increases Metal Storage   293 *CONFLICT: CORUWES  407 *
ARMUWES  Underwater Energy Storage Increases Energy Storage  298                     298
ARMUWMS  Underwater Metal Storage  Increases Metal Storage   298 *CONFLICT: ARMUWES  402 *
ARMEMP   Stunner                   EMP Missile Launcher      322
CORMABM  Hedgehog                  Mobile Missile Defense    322 *CONFLICT: ARMEMP   408 *
CORPLAS  Immolator                 Plasma Tower              124 *CONFLICT: CORPUN   409 *

The * (asterick) means changed.

ALL FIXED -- by moving the conflicting units to different unit id #'s, starting at 400 and going to 409. This should be safe so long as Cavedog doesn't create nearly 100 new units. According to Cavedog, this bug has no effect on gameplay - but since I'm removing other bugs, I'm removing this bug as well!


Weapon ID Number Changes:
------------------------

All of the Cavedog weapon id's (in numerical order) are in 1 MASTER weapons.tdf file in the weapons dir (in REV31.GP3) instead of divided up among many little files of only a weapon or 2 each. The other files are of zero-length to force TA to forget all the incorrect and redundant entries in ccdata.ccx and totala1.hpi.

Although there is only 255 weapon id #'s to work with, Cavedog has quite a few weapons id #'s that have unused weapons in them. Plus there is quite a few duplicates among Cavedog's weapons. I don't mean just similar - I mean identical down to the picture, speed, turn rate, and even acceleration speed of the weapon. Although it's a lot of work, it's just going through the unit FBI files and referring them to the same weapon id and going through weapons id #'s and deleting the unused ones. The problem is, getting TA both to recognize the changes and ignore the old id's. To do that, I have to change around a lot of stuff in REV31.GP3 -- it's the only file that overrides other files containing identical FBI's and weapons id's. For old weapons id #'s to be ignored, I have made empty files of the same name and put the whole weapon id #'s list in a single WEAPONS.TDF file.

With my tests so far, it all seems to work -- even units with 2 identical weapons such as the Seaplanes and Stealth Fighters seem to work correctly.

Cavedog IDENTICAL and UNUSED weapon id's!

  Weapon                               Area of    Cost          Reload
ID   Name                 Range Damage Effect Metal Energy Path  Time
----------------------------------------------------------------------
7    MINDGUN                500   100      16    -     -     L   1    unused! *
8    SBMISSILE              300    80      16    -     -     L   1.6  unused! *
19   VTOL_EMG2 (unused!)    510    12       8    -     -     L    .6  burst=3 burst rate=.1 *

22   ARM_DISINTEGRATOR      240 30000      48    -   400     L   1.2
23   CORE_DISINTEGRATOR     240 30000      48    -   400     L   1.2          *

30   AMD_ROCKET           32000   500      96  200 10000     L 120
117  ARMSCAB_WEAPON       27000   500      96  200 10000     L 120		* -- see NOTE #1

32   FMD_ROCKET           32000   500      96  200 10000     L 120
118  CORMABM_WEAPON       22000   500      96  200 10000     L 120		* -- see NOTE #1

38   ARMAMPH_WEAPON2        700    46(97)  48    -     -     L   2            *
106  ARMRL_MISSILE          700    46(97)  48    -     -     L   2

43   CORFLAK_GUN            750   146     125    -     -     B    .7  Flak
79   ARMAAS_WEAPON3         750   146     125    -     -     B    .7  Flak    *
180  CORARCH_WEAPON3        750   146     125    -     -     B    .7  Flak    *

50   ARM_LIGHTCANNON        240    50      32    -     -     B   1.53
51   CORE_LIGHTCANNON       240    50      32    -     -     B   1.53         *

55   CORE_THUD              230    80      48    -     -     B   1.9
159  CORAMPH_WEAPON1        230    80      48    -     -     B   1.9          *

75   ARMSFIG_WEAPON         510    50(140) 48    -     -     L   3
76   CORSFIG_WEAPON         510    50(140) 48    -     -     L   3            *
96   ARMSFIG_WEAPON2        510    50(140) 48    -     -     L   3            *
97   CORSFIG_WEAPON2        510    50(140) 48    -     -     L   3            *

77   ARMAAS_WEAPON1         710    57(108) 48    -     -     L   2              -- see NOTE #2
78   ARMAAS_WEAPON2         710    57(108) 48    -     -     L   2            *
103  ARMSHIP_MISSILE        710    57(108) 48    -     -     L   2
178  CORARCH_WEAPON1        710    57(108) 48    -     -     L   2            *
179  CORARCH_WEAPON2        710    57(108) 48    -     -     L   2            *

82   ARM_LASER              180    30       8    -     -     L    .865        *
88   CORE_LASER             180    30       8    -     -     L    .865

95   ARMSEAP_WEAPON3        510    44(130) 48    -     -     L   3            *
98   CORSEAP_WEAPON3        510    44(130) 48    -     -     L   3            *
108  ARMVTOL_MISSILE        510    44(130) 48    -     -     L   3

107  CORRL_MISSILE          700    45(95)  48    -     -     L   2
148  CORFRT_MISSILE         700    45(95)  48    -     -     L   2            *

112  ARMVTOL_ADVMISSILE     659    70(150) 48    -     -     L   3
115  ARMVTOL_ADVMISSILE2    659    70(150) 48    -     -     L   3            * -- see NOTE #3

113  CORVTOL_ADVMISSILE     650    68(155) 48    -     -     L   3
114  CORVTOL_ADVMISSILE2    650    68(155) 48    -     -     L   3            *

146  ARMSEAP_WEAPON1        300   400      16    -     -     L   6
152  CORSEAP_WEAPON1        300   400      16    -     -     L   6            *
193  ARMSEAP_WEAPON2        300   400      16    -     -     L   6            *
194  CORSEAP_WEAPON2        300   400      16    -     -     L   6            *

145  ARMSCORP_WEAPON        320   400       8    -     -     L   1.2          *
181  CORSCORP_WEAPON        320   400       8    -     -     L   1.2

143  ARMFRT_MISSILE         700    46(97)  48    -     -     L   2    unused! *
157  ARMFARK_WEAPON         320   112      48    -     -     B   1.8  unused!	*
158  ARMSCRAM_WEAPON        320   112      48    -     -     B   1.8  unused! *
162  CORHUNT_WEAPON         320   112      48    -     -     B   1.8  unused! *
164  ARMSEHAK_WEAPON        320   112      48    -     -     B   1.8  unused! *

The * (asterick) shows the weapon id #'s that have been freed up with the removal of that weapon.

This patch frees up 32 weapons id #'s.
These are the weapon ID#'s removed in numerical order:
7,8,19,23,38,51,76,78,79,82,95,96,97,98,114,115,117,118,143,145,148,152,157,158,159,162,164,178,179,180,193,194
7,8,19,143,157,158,162,164 are never used even in the original game!

All of Cavedog's units use 197 weapon id #'s BEFORE this patch. (counting unused weapons id's in the game.)
All of Cavedog's units use 165 weapon id #'s AFTER  this patch.

NOTE #1:
Although the 4 antinuke weapons have VASTLY different maximum ranges, ALL the antinukes WILL shoot down nukes fired into their protected zone from beyond their maximum range. The only thing the antinuke weapon range changes is how soon the antinukes fire after the nuke is fired. The shortest-ranged antinuke weapon, CORMABM_WEAPON (Core Hedgehog's weapon) has a weapon range of 22,000 pixels -- even this could cross from one side to the other of a 40 x 40 map. (The largest non-3rd party map in TA is only 40 x 40!) Since the ranges all correspond to an incredibly huge distance, and because any of the antinuke weapons WILL shoot down nukes fired from beyond their max range, I have removed ARMSCAB_WEAPON and CORMABM_WEAPON and used the original antinuke weapons (AMD_ROCKET and FMD_ROCKET) instead on the mobile antinuke vehicles.

NOTE #2:
The missile weapon used on Arm Flakker ships (and also reused on Core's Flakker ships as well) has been modified to make them a 2-weapon unit instead of a 3-weapon unit. This was done by halving the reload time for the weapon, thus making it roughly equal to the original 2 weapons it replaces. The scripting model for the AA ships also had to be changed so the single missile weapon appeared to be firing from different turrets.

NOTE #3:
The 2 different Hawk missiles (ARMVTOL_ADVMISSILE and ARMVTOL_ADVMISSILE2) have a tiny differance in top speed (559 vs 554 -- less than a 1% differance), I removed the 2nd missile because for all practical purposes they are identical. Many things in the game are rounded down to the nearest multiple of 32 (the tilesize) and speed is probably one of them.


3rd party units don't work with Bugfix?
--------------------------------------

Some 3rd-party units may not work with this patch without changes *IF* they use weapons removed by TA Bugfix. Like if a unit used MINDGUN as a weapon. I tried not to take "sides" when deleting shared weapons id #'s. If equal numbers of units used different weapons, the oldest (as in the case of ARMRL_MISSILE) weapons id # was kept or the lowest weapons id # was kept in the case of ARM_DISINTEGRATOR.

To make these 3rd-party units work with TA Bugfix, place the old_weapons.ufo file in the totala directory. This will ADD BACK all the removed weapons with corrections to them as well. This should allow almost ANY 3rd party unit to work with TA Bugfix. (And if it doesn't please email me.)

Speed Benifit:
-------------

Another side benifit of removing all duplicate files is an increase in gamespeed - at least one speed notch. Also, the game will load a new mission faster because it shuffles through fewer files.

Because of the decrease of EMG lag as well as the removal of many categories for units, internet games and LAN games should lag less.

AI fixes:
--------

Another bug fixed by this patch is making map OTA's use a better ai profile. Original pre-TA:CC maps were particularly bad about their choice of ai profiles that they used. This should make the ai's at least slightly more effective on those maps than originally.

Map OTA               Did use    Now uses
-------               -------    --------

Acid Foursome         Acid       Default
Acid Pools            Hover      Wind
Checker Ponds         Acid       Default
Crystal Cracked       SeaBattle  Hover
Etorrep Glacier       Default    Wind
Evad River Confluence AirBattle  Hover     *AirBattle is strictly aircraft-only maps
Gasplant Plain        Default    Wind
Hundred Isles         Default    SeaBattle
Kill the Middle       AirBattle  Wind
Lava Mania            Default    Wind
Metal Heck            Default    Metal
Metal Isles           Default    SeaMetal
Over Crude Water      AirBattle  Krogoth
Ring Atoll            Default    Hover
Seven Islands         Default    SeaMetal
Shore to Shore        Seabattle  Hover
Show Down             Default    Wind
Surface Meltdown      Acid       Default
The Cold Place        Default    Wind
The Pass              Default    ThePass
Trout Farm            Default    Urban
Two Continents        AirBattle  Hover     *AirBattle is strictly aircraft-only maps

Descriptions of AI Profile types:
(this is what they probably should be, not what they are...)

Acid.txt
    Presumes that each player is separated by acid, so ships and ground troops cannot (safely) get from one island to another. This means the ai should build aircraft and hovercraft (and Pelicans).

AirBattle.txt
    Presumes that each player is separated by impassable terrain (clouds, lava, etc) that even hovercraft cannot cross. This means the ai should only build aircraft for attack.

Default.txt
    Presumes a big land map that all units can cross. Presumeably no water is on the map, so making ships is pointless. So the ai should build everything but ships.

Hover.txt
    Presumes a water map with lots of land to build many factories on. This allows the ai to build many aircraft plants as well as hovercraft platforms. Ships aren't neglected, but have low limits.

Krogoth.txt
    For a metal map that has water as well as land. Ground troops presumeably can travel from almost any part of the map to any other part. Ships aren't neglected, but have low limits.

Metal.txt
    Strictly a metal map with little or no water and no obstructions to ground units. So the ai should build everything but ships and metal makers.

SeaBattle.txt
    Presumes a water map with limited land to build factories on. Ships are the main form of attack or defense, but small numbers of air plants and hovercraft platforms might be built.

SeaMetal.txt    (Does not normally exist in the game!)
    A metal water map, presumeably with lots of land to build many factories on. This allows the ai to build many aircraft plants as well as hovercraft platforms. Ships are still a major form of attack but by no means the only one. Actually, this is just a metal form of the Hover.txt ai -- with the exception that the ai shouldn't make metal makers.

ThePass.txt     (Does not normally exist in the game!)
    A special map ai, designed specifically for The Pass map. It builds very few factories or base defenses to conserve its very limited build space, nor does it build many metal extractors.

Waterwrld.txt
    Presumes an entirely water map. Ships are the only form of attack or defense, with seaplane platforms as the only other factory type. The ai should not try to build any land-based factories.

Wind.txt        (Does not normally exist in the game!)
    Presumes a big land map that all units can cross. Presumeably no water is on the map, so making ships is pointless. So the ai should build everything but ships and solars. However the ai's primary early energy source is wind generators instead of solars.

Urban.txt
    Presumes a water map with lots of land to build many factories on. This allows the ai to build many aircraft plants as well as hovercraft platforms. Ships aren't neglected, but have low limits. Also, this map is low on resources but may have reclaimable objects (buildings, rocks, and trees) to make up for this lack. Also presumes there is underwater metal spots.

SIDEDATA.TDF changes:
--------------------

The ai's build menus are pretty messed up:
(this is stored in the SIDEDATA.TDF file in the GAMEDATA dir.)

FIXED: Core is unable to build seaplane platforms and advanced construction subs!
FIXED: Arm's seaplane platforms sometimes quit building for no reason!
ADDED: All the TA:CC units that were missing, plus the 6 post-v3.1 patch units.
I left the ability of the ai's construction hovercraft to build advanced vehicle plants and the ability of the ai's construction seaplanes to build advanced k-bot labs in, because it is only a small advantage for the ai -- and the ai needs that (and more) to compete with good players.

Ai profile changes:
------------------

There are NO ai profiles in ][BF14.ufo! TA Bugfix uses the ai profile files found in the old Rev31.gp3 file (renamed Rev31.ccx or incorporated into totala1.hpi) instead. I did not include my ai profiles (that is found on other websites) with this patch. Also, ai profiles are something that typically get changed often like maps do - which is much easier to do if the ai files are in an AI directory instead of buried inside of a ufo file.

Single-player Mission changes:
-----------------------------

Some single-player maps have been altered so they can be used as multiplayer maps as well, HOWEVER they *MUST* be installed to the harddrive in order to run (the big totala4.hpi file, that is).

Also, a small and currently incomplete Arm campaign has been added as well. It takes place at about the same time as the missions in TA and TA:CC.

The missions will play better if ai profiles are added to augment them! The special ai profiles they use are:
SeaMMiss.txt for Sea Metal maps
Sea_Miss.txt for Sea maps

The Krogoth Campaign has been altered so the original hard setting is now only the medium setting. The new hard setting adds only 1 enemy unit to the ai and removes much of the waittimes placed on the enemy units. This makes the ai attack earlier and with greater strength, and resupplies its attack force quicker. I personally have beaten it, but it is very hard. For those that find either version too much, an easy version has been added as well - but even it is no cakewalk.

There is a major (in my opinion!) mission bug in every mission included in TA:
The ai will not automatically build MOST TA units added after the very first v1.0 release! Strangely, there are a handful of units that don't have this problem. These are:
armscorp, cormabm, cornecro, corplas, corscorp, cortruck

Probably can be built by the ai as well:
armscab, armss, armgate, corgate, corbuild (but only the ai would be able to build it!), and both the arm and core beac and dev1.

NOTE: Normally most of these units aren't buildable, but once a download tdf file is added to build them the ai WILL build them!

I am hard at work to make it so the ai can autobuild *ANY* units in TA in missions, even if they're 3rd party units. This is *IF* the ai is allowed to build them at all. (via the useonly files.) So, if the unit is grayed out the ai cannot build it.

Minor Map changes:
-----------------

I moved around a few of the starting locations on some maps because of conflicts -- either the commander starts out "stuck" on/in the scenery, or starts very close to other commanders.

I did this on these maps:
Painted Desert (w/ more than a 4 player start, players 1 and 5 were close together. Player 5 is now located in the center.)
Town and Country (one player starts out embedded in a car)
Evad River Confluence (tidal strength has been increased from 0 to 15 -- this is supposedly a river isn't it?)

New control options!
-------------------

These new CTRL hotkey shortcuts are designed to eliminate some of the micromanagement in controlling all your units:

CTRL+G - ground units (armed ground units only)
CTRL+H - hovercraft (armed hovercraft only) (Hovercraft are *NOT* selected with CTRL+G)
CTRL+L - Laser towers + other fixed defenses (but not AA towers!)
CTRL+N - Naval units (armed ships only)
CTRL+Q - AA towers (Missile Towers, Flakkers, Naval Missile Towers)
CTRL+T - Torpedo Launchers (fixed versions only)
CTRL+X - superweapons such as antinukes, nuke silos, and berthas (LRPC's)

NOTE: Pelicans are selecetable with both CTRL+G and CTRL+H.
NOTE: The crawling bombs cannot be selected with CTRL+G, because their "weapon" is their death.
NOTE: Decoy commanders are not selectable with either CTRL+G or CTRL+W, but are selectable with CTRL+B.
NOTE: Minelayers, Arm FARK, and Core Necro are selectable with CTRL+B.

The "X" key is now a hotkey shortcut for nuke silos and antinuke silos build menus. It will repeat the last mouse build command for that silo - to either build 1 missile or to remove 1 missile from the build que. It can be used with the shift key to build/remove 5 missiles at a time - hold down shift+"X" to queue up many missiles quickly.

The Arm Annihilator and Core Doomsday Machine now have an On/Off switch. When set to "Off", the turrets act as normal - opening as neccessary when an enemy comes into range. When set to "On", the turret remains in an always open state. Changing from "On" to "Off" causes the turret to immediately begin its close-up sequence regardless of what the turret is doing. The turrets need to be set to "HOLD FIRE" to remain closed and "OFF".
(Sadly, we're still having problems with the Annihilator and the Doomsday Machine -- when set to "OFF" and fire at will and something comes into range, they turn themselves "ON" and remain "ON".

Also added to the Core Doomsday Machine is the "D-Gun" option. This does NOT fire a D-gun but instead fires the Core Doomsday Machine's 3rd weapon -- its red (LLT) laser. By using "Attack" in combination with the "D" key (using shift), the DDM can fire at multiple targets at once using different weapons on each.

The Core Krogoth also has the "D-Gun" option to fire its 3rd weapon, its arm-mounted Gauss Guns.

Category changes in unit FBI files:
----------------------------------

Morty is now treated as a LEVEL2 unit in its FBI file.
Both the Arm Samson and Core Slasher are now LEVEL1 units -- not LEVEL2 like they were.
Thuds can no longer be selected with CTRL+P.
Most/all units have ALTERED category information in their FBI.
Any units with radar, sonar, or jamming ability are now selectable with CTRL+R.
The Targetting Facility can now be selected with CTRL+R.
ALL Underwater units now have the UNDERWATER category in their FBI.
These categories have been totally removed:
ANTISUB, BEACON, BOMB, CARRY, defensive, DEV, extractor, HOVER, JAM, KAMIKAZE, KBOT, LEVEL, LEVEL10, MINE, MINELAYER, PARAL, PHIB, RAD, REPAIRPAD, SCORP, SHIP, SONAR, SPECIAL, SPY, STEALTH, STORAGE, strategic, TANK, TPORT, VTOL

Although this seems excessive, the categories tell the ai what category each unit is in. Since this information was not used by the ai (or did not appear to be used), it was removed.

These categories have been added: CTRL_G, CTRL_H, CTRL_L, CTRL_N, CTRL_Q, CTRL_T, CTRL_X, NOTSTRUCTURE
CONSTR and PLANT were added back because ai profiles DESPERATELY needs this information!

TORP now takes the place of ANTISUB
CTRL_H now takes the place of HOVER
CTRL_G now takes the place of KBOT -- selects all ground units with weapons
CTRL_G now takes the place of TANK -- selects all ground units with weapons
CTRL_L now takes the place of DEFENSIVE -- selects all Laser towers + other fixed defenses
CTRL_M now takes the place of MINE
CTRL_N now takes the place of SHIP -- selects all naval ships with weapons
CTRL_Q now takes the place of SPECIAL -- selects all AA towers
CTRL_R now takes the place of JAM
CTRL_R now takes the place of RAD
CTRL_R now takes the place of SONAR
CTRL_T now takes the place of TORP -- selects torpedo launchers
CTRL_V now takes the place of VTOL
CTRL_X now takes the place of strategic -- and selects antinukes, nuke silos, and bertha weapons.
Because the remaining categories make decent substitutions, the originals are not needed.

Units ai behavior is improved with appropriate badtarget lines in their FBI.

Both Light Carriers have an added "ENERGY" line in their categories in their FBI file.

The Geothermal Plant, Energy Storage, Underwater Energy Storage, Fusion Reactor, and Underwater Fusion Reactor have an added "METAL" line in their categories in their FBI file. Although this is incorrect, it should encourage the ai to build them more often and will have no effect on the player. Also, the Moho Metal Makers no longer have the "METAL" line in their categories in their FBI file. This is to partially overcome the ai's tendancy to build moho metal makers when it has nothing but solars to power it and will also have no effect on the player.

Core Slinger (CORAH) had BadTargetCategory=VTOL;
Arm Swatter (ARMAH) had BadTargetCategory=VTOL;
even though they're ANTI-Aircraft hovercraft!

Core Thunderbolt, Floating Heavy Laser Tower (CORFHLT) had BadTargetCategory=NOTAIR;
but it's HARDLY an AA weapon!

Core Shadow (CORSHAD) had NoChaseCategory=UNDERWATER;
but it's very unlikely that it'd ever find an underwater target to chase in the first place.
(All bombers have this line!)

Note that +SHOOTALL overrides the bad target settings, allowing units to autotarget resources and the like.
Also, bad target setting have been changed so units don't shoot at c-units and factories by default.

The BadTargetCategory= line seems to be "overall" for *ALL* the weapons on the unit. (But is sometimes ignored!)
The NoChaseCategory= line seems to be for whether the unit will chase a unit it's told to attack if it moves out of range.
The wpri_BadTargetCategory= line seems to disallow the FIRST weapon of that unit from targetting certain enemy types. It is the GREATEST deciding factor on what the unit will target quickly and what it will ignore if other units are around.

For missile weapons with AA uses, what seemed to work best was:
wpri_BadTargetCategory=NOTAIR;
BadTargetCategory=NOWEAPON;
This means firstly, it would ignore units not flying (NOTAIR) and out of the flying units it would prefer units with weapons. The other way around made them too likely to shoot at anything with a weapon -- whether it was flying or not!

COB script file changes:
-----------------------

The Core Spy no longer "runs" while being built.
Both sides' Construction Kbots (both Basic and Advanced), Core Necro, and Arm FARK should almost never have guarding and building problems now.

Almost *ALL* buildings that close when damaged were not becoming armored when closed - DESPITE having a damage modifier line in their FBI file that says that they should be! This happens to the Arm Annihilator, Arm Advanced Radar (although it lacks a damagemodifier line, since it's closed it should be slightly tougher - so I added a damamgemodifier of 0.5, this will have little effect because it is so fragile), the Core Doomsday Machine, the Moho Metal Makers, both side's Targeting Facilities, and both side's antinukes were *NOT* more resistant to damage while in a closed state. Antinuke silos are fragile and easy to kill because of this bug. THIS has been fixed!

To make matters worse about this failure to armor bug, the Arm Advanced Radar, both side's solars, both side's sonars, and both side's moho metal makers incorrectly OPEN and activate when shot -- even when not COMPLETELY BUILT! This makes them easier to kill. This has been fixed as well.

The Core Viper pop-up HLT had a scripting error that caused it to not leave a corpse, this has been corrected. The corpse metal value has also been reduced to less than the metal cost of the Viper.

A few multi-weapon units have an either-or approach to using their weapon. The Arm Warrior for instance will fire either its cannon OR its EMG but seldom both.

The fixed Arm Warrior attempts to use both weapons at once, if in range. Even with the original unit, this could be done by using "Hold Position" and "Fire at Will" and ordering the Warrior to move near an enemy instead of ordering it to attack the enemy - this fix just removes the micromanagement involved. This was done with a COB fix.

Both side's Flakker ships have lost their second missile weapon, leaving them with 2 weapons -
weapon 1: their first missile weapon
weapon 3: their flakker weapon
The flakker weapon had to be made weapon 3 instead of weapon 2, or it would be force-fireable (which would make it able to destroy almost any unit not strictly immune very quickly.)
This means the flakker ships should shoot their flakkers more often. This was done with a COB fix and an FBI change. The reload time on the remaining missile weapon used on Arm Flakker ships (and also reused on Core's Flakker ships as well) has been halved, thus making it roughly equal to the 2 original missile weapons it replaces.

The Core amphibious K-Bot, the Gimp, should now use both of its weapons at the same time. Just like the Arm Warrior, the Gimp could use both of its weapons at once - but only if not ordered to attack a specific target. This should help make the Core Gimp more effective against the Arm Pelican without requiring changes on either of their stats. This was done with a COB fix.

The Arm Maverick and Arm Zeus will now take considerably longer (about 10 seconds) to put their guns away -- this will decrease the likelyhood that they are "disarmed" during intermittent fighting.

The Core Battleship's laser turret animation has been corrected so the 3rd barrel rotates into position.

The Arm Wind Generator's blades have now been changed to spin in opposite direction from the originals. This better matches the wind direction as seen by which way smoke blows.

The Arm Jethro, Arm Pelican, Arm Phalanx, Arm Samson, Core Copperhead, and Core Slasher have modified unit COB scripts to make them less likely to ignore enemy aicraft flying past them.

The Arm and Core Scorpion has a simplified COB script.

Almost all Hovercraft have modified unit COB scripts, so they won't leave blocking wreckage in the water. Instead, they will leave passable wreckage. While on land, they can still leave blocking wreckage. SOME of the hovercraft scripts also have corrected explosions.

Arm Stunner EMP silo and Core Nuke silo both have a COB script modification to prevent the problem the ai has when using this silo. Previously when the ai used these launchers, conditions could occur which caused the missile to explode inside the silo instead of launching!

If I included a COB file in TA Bugfix, it definitely makes some changes over the original -- with the exceptions of the 6 extra Cavedog units, their COBs were needed to work.

Core Necro changes:
------------------

Changes made from the original Necro:
1.Name change from "Ressurrection Kbot" to "Necro".
2.Added builddistance=30; to the necro.tdf file, so it doesn't have to be touching units and wreckage to repair them.
3.Removed bogus attack button information in the necro.tdf file.
4.Fixed necro's unit script so that the guard factory bug (where the necro gets "STUCK" repairing units built by the plant even after they've left the plant) happens less frequently. (Total elimination of this bug is nearly impossible though, because what triggers the bug seems to be the interaction of many scripts at once: factory, necro, and unit being built.) This bug *ALSO* affects any repetitious nanolathe animations, even back-to-back ressurrections that don't require movement.

Why I made these changes to the Necro:

1.The Necro, which was obviously found and released as it, has the bug of not even being called the Necro.
2.The Necro could not reliably repair units because of a missing "builddistance=###;" in its cornecro.fbi file. Any number between 20 and 100 could be used for builddistance, but I chose 30 after talking with Boneyards sysops about how the Core Necro affects game balance. If I gave it a value of 60, like the Arm FARK, it could be abused by making it possible to guard a single adv. air plant with 10 or more Necros!
3.And to further confuse matters, the Necro has bogus attack information in its cornecro.fbi file!
4.The Core Necro has the same build/assist scripting problems as the Core Adv. C-Kbot -- which means other than the Decoy Commander (which is a very weak construction unit) Core does not have a reliable construction unit that is built by its Advanced K-Bot lab.

The results of these changes:

With a too-large builddistance, the Necro would be able to do everything the Arm FARK could AND ressurrect units as well! I tried to avoid this by making the Necro's builddistance tiny -- even shorter than most Level 1 construction units (which normally have a builddistance of 40.)

Core's Necro is still only a so-so Arm FARK counter. Although it costs less metal than the FARK, it costs 3 times as much energy, is built 40% slower, has far less armor (paper thin, in fact), doesn't make any resources (the FARK makes +0.5m/s and +17e/s), would assist factories at a slower rate than the FARK, cannot be used to MASS-assist a single factory like the FARK can, and has a considerably slower top speed. But at least with this fix, it can ressurect and repair correctly unlike the original. And if you don't have any wreckage around to rez, it can even reclaim rocks and trees (while on Patrol) and repair already-living units (while on Patrol or ordered to repair) -- which is something it previously had great trouble doing! Only 1-3 Necros can get close enough to a single factory to assist in building mobile units, and then they often block the factory's exit. After all these changes, the Necro goes from being a micromanagement pain to use (because it was always failing to complete orders and would sit idle) to easy and FUN to use. This gives Core a workable but LESSER counter for the Arm FARK. (in my opinion)

Antinuke silo changes:
---------------------

I've added a weapons line "toaironly=1;" to the antinuke missiles for the Arm Protector and Scarab and Core FMD and Hedgehog so that they will not open and attempt to shoot at anything other than aircraft that hit them. This negated their 0.5 damage modifier they gained for being closed and made them TWICE as easy to destroy. Sadly, they still open stupidly when aircraft shoot them - but I could find no weapons-modifying line that could tell them to ignore attacks by aircraft. So I settled for the partial fix instead of none at all. I also made it so antinuke silos should only stay open for 10 seconds after firing a missile. This keeps the "window of opportunity" to destroy them while they're open and more vulnerable reasonably small without interfering with their standard operations.

Originally, if the Core Antinuke silo (CORFMD) is ever nuke-flooded -- and the silo survives -- the silo locks up and refuses to ever fire at nuke missiles again even if it has missiles in it.

BEFORE my changes, ALL antinuke silos can temporarily overload and quit firing if 5 or more nukes are fired at them at once. (This is what "nuke-flooded" means.) Once ALL nukes have impacted or are shot down, they might resume firing. The antinuke's animation scripts cannot keep up with how fast the antinuke fires, causing the antinuke to refuse to fire until there are no more incoming nukes  and resets its variables. A "workaround" for the problem is to put the antinuke on hold fire, resetting its script, then back on fire at will -- which should cause it to resume firing.

To get the antinuke silo's animations to match their actions, I had to slow down their rate-of-fire slightly and both speed up and simplify their animations, especially for Arm's antinuke.

Arm's antinuke silo's rotary launcher was much too slow for the rate-of-fire needed in the event of a nuke-flood, and did not match its apparent rate-of-fire. Originally, it ignored the position of the rotary launcher and fired multiple antinukes almost instantaneously, while the rotary launcher would continue to rotate erratically -- sometimes even reversing direction! Now, Arm's antinuke silo loads 3 antinuke missiles on 3 separate launch rails (in a triangular configuration) and has to close and rearm after every 3 shots. It does this quickly enough to seldom cause problems.

Core's antinuke silo has to close and rearm after EVERY shot, but it rearms faster than Arm's antinuke silo so both should be balanced yet still retain originality.

The mobile antinukes needed only a firerate reduction to remove most of their problems.

After all the antinuke changes, the fixed antinuke silos can fire slightly quicker than their mobile counterparts. This should make fixed antinukes worthwhile versis their mobile counterparts which cost the same.

Arm Stunner EMP silo changes:
----------------------------

The Arm EMP Silo's paralyzation was changed so ANY units not mentioned in its weapon damage file are affected by it - previously, they were immune. This will affect almost all 3rd party units and any new Core and Arm units not specifically mentioned as immune in the damage lists. Unless many 3rd party units are used, this should have little effect on gameplay. I didn't do the same to the Core Neutron Silo because it affects only Arm mobile units - not ALL of Arm's units. Having the Neutron damage ALL 3rd party units would be imbalancing.

Krogoth changes:
---------------

Krogoth Duplication Bug:

When a healthy vetran krogoth is captured, self-d'ed, or traded, the krogoth (being captured, self-d'ed, or traded) has 30,000 damage done to it which is LESS than its total health. So the original krogoth (that was captured, self-d'ed, or traded) lives, barely; and a NEW healthy duplicate is created as well. By repeating this cheat, krogoths can be created for free! This fix reduces the krogoth's health to half (to 14,959 which is half of 29,918) and adds a damagemodifier=0.5; line in its FBI file, which makes the krogoth have 1/2 the health but take 1/2 damage all the time. A COB file fix was also needed which set the Krogoth to the always armored state.

When the modified krogoth is captured, self-d'ed, or traded the 30,000 damage ignores the damagemodifier=0.5; in its FBI file. So, the original is removed when the copy is created. This prevents the appearance of extra, but badly damaged, krogoths. One small but extra benifit is Krogoths will be repairable at double their original rate - so it'll take a construction aircraft about 5 minutes to repair a badly damaged krogoth instead of 10 minutes.

Also to maximize the krogoth's damage potential in combat, its 3 weapons have been moved around. Since the krogoth tends to use its primary weapon over its secondary weapons, it makes good sense to make its primary weapon one it can use in MOST situations.

The weapons are swaped around to:
Weapon1=CORKROG_HEAD;
Weapon2=CORKROG_ROCKET;
Weapon3=CORKROG_FIRE;

The bad target categories are changed to:

wpri_BadTargetCategory=LEVEL1;
wsec_BadTargetCategory=NOTAIR;
wspe_BadTargetCategory=CTRL_V;
BadTargetCategory=NOWEAPON;
NoChaseCategory=CTRL_V;

The weapons will still fire at bad targets, but only if ordered or if there are no other targets available.

Also added to the Krogoth is the "D-Gun" option. This does NOT fire a D-gun but instead fires the Krogoth's Gauss guns on its arms. When "Attack" is used in conjuction with the "D-Gun" option (via the shift key), the Krogoth will fire all its weapons at once -- possibly even at different targets! When using "Attack" alone, the Krogoth will only try to get within range of its head-mounted Blue Laser (700 pixel range) from the target.

The Krogoth can now be selected to built in the Krogoth Gantry using the "K" key when the Gantry is selected and the Krogoth is showing on the menu. Page 3 of the Krogoth Gantry also has a LARGE Krogoth build pic. It is linked to the normal Krogoth build pic on page 2, so clicking on one is the same as clicking on the other.

Landmines Changes:
-----------------

Minelayers are now selectable with CTRL+B (as Constructors) and now have patrol, guard, and reclaim abilities! They are still considerably slower than C-vehicles, nearly as costly, do not make resources on their own, plus they have only landmines on their build menu - but now at least they can clean up the messes their minefields can make!

Landmines can now all have their fire orders changed to HOLD FIRE, RETURN FIRE, and FIRE AT WILL. Why a player would want to is questionable, but since they qualify as a weapon - it makes sense that they have a "safety" feature too. The Nuclear Mines default to HOLD FIRE, but all others default to FIRE AT WILL. While a landmine is set on Hold Fire, it can be manually detonated for maximum damage effect. Or, landmines can be used as cloaked spotters. (Their poor LOS range, cloaking cost, and lack of armor makes landmines poor spotters.)

Originally, landmines were only resistant to damage caused by landmines of the exact same kind. This has been changed so that all landmines of one side are resistant to other mine's damages of the same side. The only exception is the nuclear mine's explosion which kills ALL landmines nearby -- and just about everything else too! Arm mines affect Core mines and vice-versa just fine. This is done to encourage the use of dissimilar mine types in a tightly packed minefield.

Previously, the Arm Precision Mine (ARMMINE5) had 2,000 armor while ALL other mines had only 100 or 200 armor. Because the mine is extremely tough for such a cheap price (which is unbalanced), I presume an extra unintended 0 was inadvertently put there. The armor has been reduced to 200 -- still TWICE as much as all other Arm mines. (Sorry Arm players, there goes your "killer" strat.)

Both side's Nuclear Mines can now be built underwater. However, since the minelayers can drive only into shallow water, a naval construction unit is required to build them in deep water. So, Nuclear Mines have been added to the Advanced Construction Sub's build menu. (Page 3, position 5) This should be useful as a naval defense against Fibbed subs and Leviathans, which previously lacked good counters. Nuclear Mines have a tiny LOS radius, no sonar, damage both friendly and enemy units, are one-shots, and cost a considerable amount of resources -- making this change difficult to abuse.

LRPC Changes:
------------

All the LRPC's (Arm Big Bertha, Arm Vulcan, Core Buzzsaw, Core Intimidator) have been modified so the direction they point when built isn't always straight down. Now, they can be pointed to the left, down, or to the right. I tried making them so they could point up also, but something caused them to be unable to fire when they were built facing up.

I added an On/Off switch to the Arm Vulcan. Consider it a single-shot/full auto fire switch. While On, the Vulcan fires at its normal superfast drain-your-energy-dry rate. While Off, the Vulcan fires at the same rate as an Arm Bertha -- making it likely to be mistaken as one by its rate-of-fire and its sound. It also doesn't require 8+ fusions to sustain fire when firing while Off.

The Core Buzzsaw doesn't get this On/Off feature because I couldn't get its unit script to work with it. Plus, it costs almost 10,000 metal cheaper than the Arm Vulcan so it's "balanced" not for it to get this minor ability.

Bugfix for the Arm Pelican:
--------------------------

Despite the many and much heated debates about the Pelican being too powerful in TA, I still prefer to think of the Pelican (and Flash as well, but that's a different story) as a legitimate unit in TA. However, missiles aimed at the pelican when it is on the water tend to hit the water instead of the Pelican unless fired from nearly point-blank range. This is a bug or is at least unintentional on the designers part. All ships are targetted correctly by missiles, SO if pelicans are in fact meant to be a ship (but then why the Floater=0; line? -- all ships have a Floater=1; line!), subs should be able to target them. However, subs cannot target them. (But subs can force-fire past them, hitting the Pelicans. The same trick can be done to all Hovers.) Pelicans also have a canhover=1; line which ALL other hovercraft have as well - which proves that Pelicans are hovercraft and not ships. Pelicans currently use waterline=9; which is ODD because all hovercraft lack a waterline=9; in their unit FBI file -- which due to its absence defaults to 0. So obviously, part of the Pelican is hiding below the waterline -- which is where missiles are aiming in their attempt to hit them. However 1 other fact remains which causes the behavoir of even partially underwater Pelicans to not make any sense: Pelicans take NO DAMAGE from acid on acid maps! As such, there is a simple fix for the WHOLE problem: set the pelican's waterline to 0 so it isn't partially underwater.

Pelicans may appear to be hovering over the water with this fix when viewed at 640 x 480. I couldn't tell any differance myself except that missiles hit the modified Pelicans more reliably. HOWEVER, any missiles fired from near or at max range that might miss an ordinary hovercraft could well miss the Pelican as well. This change does nothing else to the Pelican's unit stats, nor does it change how any other weapon is fired at them. It only allows missiles and direct-fire rockets to hit Pelicans as they would any ship or hovercraft in the same conditions.

Bugfix for ALL Hovercraft:
-------------------------

(This idea was taken straight from BSR's UH.)
Hovercraft leave passabled debris when destroyed on the water. (That is IF they leave debris!) The debris created is also left on land IF the hovercraft is badly destroyed. The debris is roughly half as valuable and half as tough as the "shell" wreckage is.
Arm Anaconda's corpse has been increased in value from 105metal to 205metal -- this is a probable typo, because Core's equivalent hovercraft, the Core Snapper, has a corpse value of 224metal! Normally, corpses are worth roughly 60-80% the metal value of the unit it came from -- but this corpse originally was only worth 38.6% the value of the original Arm Anaconda.

This required a new COB script for every hovercraft in TA, as well as changes to the 4 corpse files.

Bugfix for Naval Defensive Structures:
-------------------------------------

Both side's floating HLT's and Core's floating missile tower's waterlines have been changed from 3 and 4 respectively to 0.3 -- this will allow them to better shoot over naval dragon's teeth while still allowing subs to target them. It will also allow guided missiles targetted at them to hit them from a longer range, previously the missiles would hit the water like the Pelican bug (see above).

Bugfix for the Naval Dragons Teeth:
----------------------------------

Naval Dragons Teeth are made to sit deeper in the water to allow naval HLT's and missile towers to shoot over them. Originally, naval HLT's and missile towers could not do so reliably -- which makes countering Pelicans all the more difficult! This would also act as slightly better torpedo netting against subs.

Bugfix for the Arm Penetrator:
-----------------------------

Originally, Penetrators could recenter their turret quicker than the turret turns to aim! It's also the slowest-turning turret in the game. Why not aim the turret as fast as it can recenter in the first place? It won't be around to recenter if it can't acquire the target! So, the Penetrator's turret has been changed to a faster-turning (but still slow) turret with the same turret speed as its larger counterpart, the Arm Annihilator. The Penetrator's weapon lacks the range and damage of the Arm Annihilator and costs nearly as much energy to fire -- these characteristics I have not changed.

EMG weapon changes:
------------------

I edited the Flash tank's, Brawler's, and Warrior's EMG weapons to not make any impact noise (soundhit=; in their weapon file) -- this should decrease lag caused by these weapons immensely. However, you should still hear them firing *JUST* fine.

I changed their sound behavior with:
soundtrigger=0;
which makes only 1 firing sound per burst of shots.
An altered sound file was made which plays the sound of an entire burst of shots as a single wave.

In the 3 EMG weapons (Flash/PW, Brawler, Warrior) files, I replaced:
    startsmoke=1;
WITH:
    startsmoke=0;
    endsmoke=0;

Those tiny smoke puffs were very hard to see on 640 x 480 - on anything higher, nearly impossible.

Also, I removed the wave for weapon impact (changing it to):
    soundhit=;

All the impacting pictures for EMG have been removed as well, they were also a major source of lag. Unfortunately, the impact smoke animation is still visible -- that can only be removed by using +SFX while ingame.

That is all I have done for the lag on emg units.

Core Pyro changes:
-----------------

I removed the wave for weapon impact (changing it to):
    soundhit=;

These shoot 17 times every 1.2 seconds - which in theory would make them a bigger lag-producer than EMG weapons!
This has been changed to firing a burst of 5 shots over almost exactly the same time period (0.7 sec instead of 0.68 sec) and doing the same total damage of 170 as the orginal to all units but pyros, but doing 1 extra point of damage to them for the whole burst - 35 damage instead of 34 like the original.

Crawling Bomb changes:
---------------------

Crawling bombs have their self-d countdown reduced to 2, the same as landmines. This will *NOT* speed up the countdown of a flying bomb so it should have little effect on the game. This allows crawling bombs on the ground to be a slightly more viable tactic without changing a variety of their statistics. Just as before, a crawling bomb can be told to attack the ground just in front of it to cause an instant explosion without the 2 (or 5) second self-d delay!

Arm Fibber changes:
------------------

Not much else can be done about the Arm Fibber, it's just one unfair unit because of the way sonar jamming works. Sonar jamming gives the equivalent to underwater cloaking on ALL units within the jamming radius, and in the case of the Fibber this costs NO energy! (Even mincloakdistance=100; does not negate this cloaking-like effect.) The ONLY change done to the Arm Fibber is if the Fibber somehow takes damage, its sonar jamming effect is temporarily disabled for about 5 seconds. This is no different than a radar that turns off briefly when hit, and should help slightly in "Fibber war" games.

Core Leviathan Super-Sub changes:
--------------------------------

SoundCategory=ARM_SUB;
has been changed to:
SoundCategory=CORE_SUB;
since it is after all a *CORE* sub!

It turns out that this sub partially sticks up out of the water if it moves into water that's too shallow. This will not be changed, and should be good reason to keep your Leviathan subs in DEEP water!

Cruiser and Destroyer Changes:
-----------------------------

On ALL ships with Depth-Charge, (This is the Arm and Core Cruisers and Destroyers -- 4 ships in all) the depth-charge weapon has been moved from weapon 2 to weapon 3. This will allow these ships to hold position and fire their guns at range when told to attack a distant target, without them attempting to move within depth-charge range. The depth-charge will still automatically shoot at subs in range, but can also be manually targetted at legitimate targets. Unfortunately, Fire at Will *AND* +shootall has to be activated before they will shoot at weaponless underwater buildings. This is how it's always been, so there's no real change except Destroyers and Cruisers will no longer "charge" the shore trying to get in depth-charge range of inland targets.

Missile Frigate Changes:
-----------------------

These units have less than 1/3 the armor of the cheaper cruisers made by the same factory, yet prove less useful in almost every case. The only semi-useful task they can perform is base bombardment, but because they are terribly slow, unmanueverable, and poorly armored the only base they're likely to bombard is your own when they attempt to shoot down enemy aircraft with their heavy rockets.

To combat the lack of armor, I did not change the ship's armor stat but rather looked at the ship's design. Because the heavy rocket launcher occupies about 1/2 the ship's length, I gave the missile frigates a 1/2 damage modifier when it is closed and not exposing the ship's innards and live heavy rockets on the launcher. This makes them just over half as tough as a cruiser when closed.

To combat the friendly fire problems caused by the heavy rockets, I added an On/Off switch to these ships which controls whether or not the heavy rockets will fire. On Core's Missile Frigate, this also has the unfortunate effect of turning off its radar, so I made the radar quit spinning while off as well. While set to the "Off" state, the missile frigates will still fire their AA missiles at enemies if any are in range.

Advanced bomber changes:
-----------------------

All the impacting pictures for the advanced bombers laser have been removed, they were a major source of lag when 10+ advanced bombers attacked at once.

Anti-Aircraft missiles changed:
------------------------------

Despite the obvious problem of all anti-aircraft missiles not doing extra damage to all aircraft, especially 3rd party ones, this is not really a bug. The Seaplanes found in TA:CC are an example of how Cavedog tried to work around this problem. They take less damage from anti-aircraft missiles than other Cavedog aircaft, but they have less health so it averages out. The problem is, it looks like Cavedog intended to add them to the special damage lists (and added them to the stealth fighters' missiles) but not to anything else. This is incredibly imbalancing because stealth fighters can destroy them easily - often with only 1 missile hit, while they need 4 to 5 hits to kill 1 stealth. However, they still have a weakness to flakker weapons which do full damage to them. All other weapon types kill them easier too.

I removed the special damage lines for ARMSEAP, ARMSFIG, ARMSEHAK, CORHUNT, CORSEAP, CORSFIG on these weapons:
ARMVTOL_ADVMISSILE	(ID=112)
CORVTOL_ADVMISSILE	(ID=113)
CORAH_WEAPON		(ID=199)

Flakker changes:
---------------

It's been pointed out that flakkers are often as dangerous TO your base as it is to enemy aircraft. As a fix, I'm adding a "unitsonly=1;" line to all flakker weapons. This will prevent the flakker weapon from detonating when it hits the ground or when it hits DT. Zero-damage lines have also been added to the tall buildings that were typically affected by the flakkers - now if for some reason the flakkers do hit them, the damage the buildings take is zero. The flakker weapon names and weapon id numbers are:
ARMFLAK_GUN		ID=42
CORFLAK_GUN		ID=43
ARMyork_GUN		ID=116
CORSENT_GUN		ID=133

(Note: The other flakker weapons in the game have been absorbed into the above 4 weapons, so all flakkers used in the game are affected by this change.)

This may not be considered a bug, but is a big game balance issue - because what's the point of making an anti-aircraft weapon that destroys your base when it misses? This is like an antinuke that nukes your base if it misses an incomming nuke!

Zero-tolerance bug:
------------------

MANY units in the game have a terrible target-tracking problem because of an overprecise TOLERANCE=###; line in their weapons file. More specifically, for many original TA units (but not for any of the downloadable add-on units) there is no TOLERANCE=###; line at all! This means the turret/torso of the unit had to be precisely aimed on the center of the target before it would fire its weapon. A good example of this is the commanders' lasers, Arm Zeus, or Core AK. They would track a target but seldom fire at it if the target moved by them quickly. I would NOT have considered this a bug, except for the fact that Cavedog has included a TOLERANCE=###; line for all but 1 of the downloadable units released AFTER the original game came out. I added a low tolerance to all the tolerance-lacking weapons.

Weapons Changes:
---------------

COMMANDER_BLAST has been altered to be a nuclear missile weapon that has a 5 minute buildtime with a massive cost - 2x the metal and 3x the energy as the regular nuke weapon. This will have NO effect on the game, but allows for the design of 3rd party units with this "new" oddball weapon.
CRAWL_BLAST has been altered to be a medium-ranged mini nuclear missile weapon with a cost slightly greater than the Arm Stunner missile weapon. This will have NO effect on the game, but allows for the design of 3rd party units with this "new" oddball weapon.
ARM_DISINTEGRATOR will no longer start fires (firestarter=0;) -- the D-gun should destroy trees, not burn them!
Both the COMMANDER_BLAST and the CRAWL_BLAST have been set so they will destroy trees (firestarter=0;) instead of setting them on fire. This will make the Crawling Bombs good for clearing trees -- and almost nothing should survive a commander explosion!

5 explosion weapons have been turned into true weapons:

  Weapon                               Area of    Cost          Reload
ID   Name                 Range Damage Effect Metal Energy Path  Time
----------------------------------------------------------------------	Special note	Used by:
BEFORE:
37   CORMINE3(M-303)        480   700(45) 160    -     -     B   3.6  10% edge effect	Core Mine #3
110  MEDIUM_UNIT            480   250      95    -     -     B   3.6				Medium Unit self-d
185  ARMMINE2(Area)         480   600(30) 200    -     -     B   3.6   5% edge effect	Arm Mine #2
204  SMALL_UNIT             480   200      75    -     -     B   3.6				Small Unit self-d
207  MEDIUM_BUILDINGEX      480   100     105    -     -     B   3.6				Medium Building explosion
213  COMMANDER_BLAST        380  9999     950    -     -     B   3.6  75% edge effect	Commander explosion
214  CRAWL_BLAST            480  2500     556    -     -     B   3.6				Crawling Bomb self-d

AFTER:
37   CORMINE3(M-303)        780   700(45) 160    -     -     L   6.48 10% edge effect	TAWF010b_weapon
110  MEDIUM_UNIT           2400   250      95    -     -     L   2				Dragon
185  ARMMINE2(Area)        2100   600(30) 200    -     -     L  10     5% edge effect	ADVSAM
204  SMALL_UNIT             850   200      75    -     -     B   2.8				ARM_MORTAR
207  MEDIUM_BUILDINGEX      600   100     105    -     -     L   1				dart
213  COMMANDER_BLAST      32700  9999     950 6000 600000    V 300    75% edge effect	Super-nuke?
214  CRAWL_BLAST           4000  2500     556 1300  52000    V 130		Medium-range Mini-nukes?
(V= Vertical Launch)

These weapons will still retain their original ability as explosions, but can also be used as weapons on 3rd party units.

ADDED 3do and sound files:

[ARM_MORTAR]
	model=mortarshell;
	soundstart=Mortar1;
[Dragon]
	model=Dragon_miss;

[ADVSAM]
	model=ADVSAM;
	soundstart=launch;

[dart]
	model=dart;

[TAWF010b_weapon]
	model=rpack;
	soundstart=shoot;
[CRAWL_BLAST]
	model=advmiss;

After I add the appropriate sounds and 3do files to TA Bugfix, everything needed to use these weapons has been included.

Admittedly, it may seem a little strange for a unit to fire SMALL_UNIT, MEDIUM_UNIT, MEDIUM_BUILDINGEX, ARMMINE2, or CORMINE3. But confusion is the price to pay for saving 7 weapons id's.

The 7 weapons conversions plus extra 3do and sound files adds less than 100kb to the total filesize.

Accumulating scars bug:
----------------------

After many hours of battling on a map, many of the map features are either removed or destroyed - such as trees or recycleable rocks - leaving behind a "damaged terrain" scar. This is also true of dead units and dragon's teeth which are recycled. The accumulation of many of these scars causes some slowdown in the game. In the case of dragon's teeth, the slowdown could well be excessive - plus revealing where dragon's teeth walls once were to all players. Currently, I've left the other scars but removed the "dead" dragon teeth scars.

Also, it was strange that although there is no way to destroy a scar - the scar has a scar corpse as well! This unneccessary scar corpse has been removed. ALL the remaining scars do NOT have a corpse.

Corpse Changes:
--------------

All corpses and heaps (in alphabetical order by unit abbreviation) are in 4 master files (Arm corpses, Arm heaps, Core corpses, Core heaps) -- this would also aid in discovering unit conflicts.  The other files are of zero-length to force TA to forget all the incorrect and redundant entries in ccdata.ccx and totala1.hpi.

FIXED: The Core Fortitude Missile Defense (CORFMD) incorrectly uses Arm's Anti Missile Defense's (AMD's) corpse (armamd_dead) instead of its own corpse (corfmd_dead) which is in TA. This isn't too big a deal, unless you're using ressurrector units - in which case corpses don't always turn back into the unit that they came from!

FIXED: The Core Goliath (CORGOL) uses the Core Diplomat's (corvroc_dead) corpse. This was why previously a dead goliath was worth less metal than a dead Reaper! This has been replaced by the considerably more valuable goliath corpse (corgol_dead), which is also in the game.

FIXED: The Arm Retaliator nuke silo's corpse was worth almost 2,000 more metal than it cost to build the silo. This has been change to about 800 metal -- roughly the same value as Core's nuke silo's corpse.

FIXED: The Arm Seer (ARMSEER) and the Core Informer (CORVRAD) used the same corpse as the Arm Jammer, this has been changed to ARMSEER's corpse and CORVRAD's corpse, respectfully.

Unit Footprints, Corpses, and Heaps have been changed so that they are the same size, what few units this affects have had their corpses reduced by a small amount. The only effect this may have on the game is slightly more corpses can be packed into an area without overlap -- meaning that a few extra corpses will be left behind after a battle that would otherwise have been covered up and unreclaimable. (This makes the Core Necro and Arm FARK more useful for when they go on ressurrection and reclaim patrols!)

Build Menu Changes:
------------------

Both Arm and Core's AWACs (Arm Eagle and Core Vulture) have been moved from page 3, position 0 of the Adv. Air Plant to page 2, position 5. This puts ALL Cavedog advanced aircraft on one build menu.

The Arm Panther has been moved from page 4, position 0 of the Arm Adv. Vehicle plant to page 3, position 5. Previously, it was needlessly on a menu page by itself.

Nuclear Mines (which can now be built underwater) have been added to the Advanced Construction Sub build menu. (Page 3, position 5)

The Seaplane Platform is now buildable on the Advanced Construction Aircraft build menu at Page 4, position 4. (This is the same build position used by the Core Advanced Construction Kbot to build the Krogoth Gantry, another Level 3 factory.) Because the Seaplane Platform is an advanced factory that builds aircraft, some type of construction aircraft should be able to build it. (This follows the general build rule that advanced factories are built by less-advanced construction units of the same type.) Since the Seaplane Platform is a Level 3 factory, the Advanced Construction Aircraft (a Level 2 unit) should build it because the Advanced Construction Aircraft is the only construction aircraft capable of building Level 3 buildings.

Unit Name Changes:
-----------------

The Decoy Commanders have been renamed "Commander" so you don't see "Decoy Commander" when you move your cursor over top them in skirmish. You can still use F1 to see a difference. I did not change the Commander build cost to the same as the Decoy Commanders because of a gamecheat which makes Commanders buildable - if Commanders cost no more than Decoy Commanders, it would be more tempting to use that cheat.
The Core Mobile Artillery has been renamed "Pillager".
The Core Missile Frigate has been renamed "Hydra".
The Core Ressurrection Kbot has been renammed "Necro".

Unit Changes:
------------

Both the downloadable=1; and the ovradjust=1; lines have been removed from *EVERY* Cavedog unit in TA -- they do nothing so have no effect on the game except possibly slowing it down a bit.

Land-based metal maker corpses have been made worth 1 metal so c-units on patrol will automatically reclaim them if low on metal -- previously, their wreckage would block passage but would never be automatically reclaimed. 1 metal is a neglegible amount and not exploitable as a cheat because the energy to metal conversion ratio of this "cheat" is nearly 700e to 1m! (Over 10 times worse than using an equivalent amount of energy to power metal makers.)

The units Torpedo Seaplane/s (ARMSEAP and CORSEAP), Seaplane Fighter/s (ARMSFIG and CORSFIG), Arm Escort (ARMSJAM), Core Phantom (CORSJAM), Core Adv. Torpedo Launcher (CORATL), Core Leveler (CORLEVLR) all use: ExplodeAs=MEDIUM_UNITEX;
But MEDIUM_UNITEX is a nonexistant weapon and does no damage to nearby units when they die.
This has been changed to: ExplodeAs=BIG_UNITEX;
The replaced explosion does 1/5th the damage in nearly the same radius as the self-destruct for the above units.

Arm's Moho Metal Maker (ARMMMKR) and Core's Moho Metal Maker (CORMMKR) uses:
ExplodeAs=BIG_BUILDINGEX;
SelfDestructAs=BIG_BUILDING;

But both are nonexistant weapons and do no damage to nearby units when they die.
(Because these units have nonexistant weapons for their explosions, a weapon of the same name could be created and used to cheat!)
This has been changed to:
ExplodeAs=BIG_UNITEX;
SelfDestructAs=BIG_UNIT;

Core Toaster (CORTOAST): ExplodeAs=lARGE_BUILDINGEX;
(probably still works, but just to be safe...)

armthover.fbi typo:
ARMTHOVER has a brakerate of 0.0018, BUT CORTHOVER has a brakerate of 0.017!
Therefore, ARMTHOVER has a typo in it - an extra 0 that wasn't intended.

armaser.fbi typo:
ARMASER has a brakerate of 1, BUT the Core equivalent has a brakerate of 0.12!
Therefore, ARMASER almost certainly has a typo in it - so I reduced its brakerate to 0.2!

The missions-only unit ARMSCORP has a goof-up in its FBI file:
ItalianDescription=;Scorpione
This has been changed to:
ItalianDescription=Scorpione;

The Arm Energy Storage has an error in its yardmap. It is a 4 x 4 unit with a yardmap of:
YardMap=o;
instead of:
YardMap=oooooooooooooooo;
like Arm Metal Storage - which is also a 4 x 4 unit. This was a simple cut-and-paste fix. ;)

Arm's Hawk's 2nd missile has an error in its data, it has:
weaponacceleration=13O;
instead of:
weaponacceleration=130;
(notice the "O" instead of a "0")
This has been corrected (but now only affects the old_weapons.ufo file.)

All the aircraft plants (basic and advanced) have had their yardmaps changed so ground c-units don't block production as badly (but can still occur!) while guarding them.

Individual unit _gadget.gaf build menu picture files have been added to the Amins directory for many units that lacked them.
Cursor.gaf in the Amins directory now have a better unload animation. (Thank BSR for this one!)
Help menu pictures (gotten by pressing F1 while the cursor is on them) have been added to the Arm Scorpion, the Core Sea Serpent, and the Core Hydration Plant.

Mobility changes on units:
-------------------------

The Arm Triton (ARMCROC) and Core Crock (CORSEAL) now has climbing ability out of the water (maxslope=30) equal to their in-water climbing ability (maxunderwaterslope=30) -- this is for metal maps like Over Crude Water, where they would often get stuck going in and out of the water.

The Arm Zipper and Core Freaker now has climbing ability identical to most other kbots. (maxslope=15) Previously they could climb only gentle slopes.

The Core Krogoth has been given climbing ability identical to the Arm Bulldog tank. This will allow it to wade into shallow pools of water but will not let it snorkle accross deep bodies of water like fully amphibous units.

Fire Standing Orders and Fire Moving Orders for mobile units have been changed so most mobile units are set to Fire at Will MOST of the time.

GAMEDATA dir (in REV31.GP3) file changes:
----------------------------------------

Category.tdf file has been altered to reflect the reduced number of different Categories actually used in the game.

Help.TDF is the help file viewed from inside the game. Some of the new commands added are now listed in the help menu. Page 3's last line should tell if TA Bugfix is installed or not.

The LOS.TDF (the Line of Sight tables) file has been altered to include entries out to 640 pixels -- so now far-seeing units such as the Leviathan will reveal what is in the outer edges of their sight radius.

Meteor.tdf (in the Gamedata dir, NOT in the weapons dir) has been replaced with modified meteor file. This is the data used when the +METEOR cheat is used in skirmish.

Moveinfo.TDF contains the mobility attributes of all the units in the game.

The Sidedata.tdf file stores the ai's build menus, which has been corrected. (See AI fixes section for more details.)

Sound.TDF stores the list of soundfiles used by various units. Some unused entries have been deleted.

Weapons.tdf (in the Gamedata dir, NOT in the weapons dir) has been replaced with a zero-length file to mask the one in the old Gamedata dir.


Unfinished work:
---------------

These are game bugs that I'd like to address/fix but do NOT know how.

1.AI antinukes that work in skirmish have not been made. I've made an antinuke silo that doesn't use the stockpile=1; line in its weapon data (it is NOT included in this patch), but it still seems to require the gui file and the gaf file (for the antinuke missile itself). Also, the antinuke must build 1 fake stockpiled antinuke missile (on the build menu) before the antinuke will work - even though the stockpile=1; line is missing. The fake stockpiled antinuke missile is never deducted when the antinuke fires.

2.BURSTED BOMBER BUG: Bombers could not have their bombs converted to a burst weapon -- to remove the long-string-of-bombs bug that is overused by many players who think it's a legitimate tactic. Bombers are powerful enough without this "tactic" especially when lag is affecting them. I'm not talking about the multiple-targetting micromanagement strategy where bombers are ordered to bomb another target downrange after their first -- this is little more than selecting multiple targets with shift except it removes the "stupid" stage from bombers where they attempt to either stop and land or fly in a straight line.

Bombers on patrol and fire at will, don't attack targets as they come into the bombers maneuver range. The fix I tried never worked right.

3.The Doomsday Machine doesn't always point it's big-blue-laser turret in the direction that the big-blue-laser fires..

4.I tried changing ALL landmines found in the game from yardmap=o; to yardmap=y; - because even units that didn't know the mines were there "knew" to drive around them. The reason I changed it back was because yardmap=y; causes the landmines to be near-impossible to hit with laser weapons. Only weapons which affect an area when they impact would be likely to damage the mines.

5.The Arm Spider and Arm EMP Stunner Silo problem is that paralysis does not act as a "STOP" command on units that are hit by them. And what's worse, with micromanagement paralysis can be negated entirely on mobile units. A fix for this requires an EXE change which I cannot do!

6.Also, the Core Leviathan may be partially stuck out of the water and trackable like any other ship when it's in shallow water. This I have confirmed but am unable to fix.

7.With the removal of the "commander" category in the ARMCOM.FBI and CORCOM.FBI files, the Commanders are still selectable with CTRL+C, but CTRL+C no longer centers the viewscreen on them. However, the viewscreen can still be centered on them with the "T" key. Sometimes you don't want the viewscreen centered on the commander when you use CTRL+C. It has since turned out that the "commander" category in the ARMCOM.FBI and CORCOM.FBI files has another use as well -- it prevents players from giving their allies (or enemies) their commander in multiplayer games - especially commander dies = ends games! Because this is an important limitation, I had to add the "commander" category back to the ARMCOM.FBI and the CORCOM.FBI files.


Why I didn't go further:
-----------------------

To balance the units in TA requires first testing all the units in a less-buggy state than they are currently in the original (v3.1c patch) TA.
(My patch is a good starting place for that... :)

It is impossible to apply a uniform balance to TA because the units are so vastly different between sides (Arm vs Core) and in different categories (missile units vs ballistic units). Interestingly, very dissimilar types of units can be good at the same role -- such as raiding (destroying an opponent's outlying resources.)

There's the safety-in-numbers balance issues as well, which typically is the case for long-ranged but low damage-per-second weapons. (ex: missile tower) By themselves they are weak if not very weak. But in groups of 20+ they become difficlt to counter. It is difficult to weaken the strengths of a unit while in a large group but not also weaken it when it's by itself.

There is also the issue of relative balance -- a unit may be nearly useless in the hands of average players, but turn into something that is very difficult and expensive to counter in the hands of people who know some tricks with that particular unit. (Case in point is how some experts can get stealth fighters to hover behind their ground force's frontline and pummel anything the ground units spot.)

Another form of relative balance is units relative to each other (assuming equally competent players.) A Maverick may have one of the highest damages-per-second of any unit in the game, but it's slaughtered by enemy units that engage it from long range (such as Slashers) -- so is it too strong period, or just too strong in a face-to-face fight?

Yet another form of relative balance is whether trying to balance units for skirmish games (no lag), LAN games (low lag), or IP games (medium-high lag). Aircraft bombers in skirmish and LAN games are much more stoppable, but in IP games they become an almost unstoppable, uncounterable threat.

This patch is not intended to balance units in TA unless I can reasonably assume the imbalance is caused by a game bug. And even in that case, I try to remove the bug and stop there. There's many units that I feel are not very useful, even worthless perhaps since other units can better do whatever that unit can do. However, I'm not going to decide what changes are neccessary on unit stats to balance it with the rest of the game. I don't claim to be the best TA player there is, and as such I don't know what stats to change to balance units. It's my opinion that an "overfix" stat adjustment is far worse than no stat adjustment at all.

A lot of my patch is to reduce micromanagement without sacrificing gameplay. TA has a very steep learning curve not just because the interface is complex (but streamlined) but also because units don't behave in predictable ways. Enemy units may be in range of your units but yours won't fire because they're busy moving.
There's little in TA that sucks worse than having units that refuse to fire at the enemy. This includes a Commander who has been told to d-gun a fast-moving ground unit and tracks it without firing. Or a Cruiser that insists on beaching itself while trying to destroy an inland guardian. It almost qualifies as exploiting a unit if a player can get the unit to hold position and shoot reliably at enemy units as they come into range.

My patch is intended to give units a little more common sense so you don't have to babysit them (micromanagement!) so much.


How this file works:
-------------------

I wanted to make simple alterations to TA in a small file called rev32.gp3 and have TA assume it was a later patch. But when I tried rev32.gp3 TA ignores it. I am convinced that just like fixing the 8-bit limit of the weapons id #, tricking TA into thinking it's a later version (v3.2) may be just as hard.

My entire modified REV31.GP3 is less than 1 meg, but if it is combined and repacked using all the data in the old REV31.GP3 it is over 5 megs.
Previously, I had released all my changes in an TA31_fix.ufo file and included an installer that patched it into REV31.GP3, but there were MANY installation problems that erupted because of this.

I also wanted to make a patch fix that works for TA v3.1 without Core Contingency. But currently fixing TA:CC v3.1 has proven rather difficult - and with as much as I have added, perhaps nearly impossible to remove all TA:CC only referances.


Legalese:
--------

You may distribute this file in any way that is legal.
(on the internet, on a floppy, on your computer, CD, etc, etc).

I relenquish all ownership of this file and would not mind seeing it used elsewhere.
(but giving me credit if you use it would be nice...)

Please send constructive criticism to my email address about this fix.
("I hate it! It stinks! It sucks!" is acceptable - especially if you state your reasons.
But "I hate you! You are worthless!" is not and will probably just be deleted.)

(Now if only these fixes were in the next TA patch...)

Credits:
-------

** Special thanks to Speed, the original creator of the ai nuke silos!
** Special thanks also to Joe D, without his programs none of this would be possible!
** Thanks also to anyone that has given me support on this project!
** Special thanks to CyberKewl and Creeperman, who coded the COB sripts for me!

CyberKewl, webmaster of Total Annihilation Unit Creation Center (TAUCC), is a major force behind the creation of this patch. It was HE that did much of the scripting (COBs) for the many bugfixes that are included in this patch.

Creeperman has also done COB scripting work on this patch. If CyberKewl didn't do the COB on a particular unit, Creeperman probably did.

Mephisto, who is a latecomer to the TA bugfix group, has added both his input, time, and effort towards many fixes in the patch.

Since I am sharing the fixes used in TA31_fix.zip with makers of UberHack, some changes appear in both TA patches. I thank the makers of UberHack for making an alternate form of TA for those that feel TA is hopelessly unbalanced.

This text file was made by: David Sellick
I am also known as Switeck on chat forums and message boards...
(email: Switeck@hotmail.com)