ModEnc is currently in Maintenance Mode: Changes could occur at any given moment, without advance warning.

EVA NewConstructionOptions

From ModEnc
Revision as of 17:08, 3 June 2012 by Starkku (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The [EVA_NewConstructionOptions] dialog event is triggered when a player gains new construction options, usually because they built a new prerequisite structure such as a Battle Lab (see The Prerequisite System for details). This causes that players EVA to announce that they have "new construction options".

The code for this dialog event is stored in eva(md).ini in the section [EVA_NewConstructionOptions]

NCO Bug

Due to the way that this feature is coded in the game engine, mods can easily introduce a bug whereby the "new cosntruction options" sound is played every time a unit is constructed, even if no new construction options are in fact available. See The Prerequisite System for the reason why this happens.

[Another problem caused by the NCO bug is that the sidebar tries to jump to the new construction option if the tab you are viewing (such as Infantry) contains that new construction option (such as the Psi-Commando). The sidebar still jumps even if the new construction option is not actually available, usually just to the first option but it has been reported to jump randomly.]

Vehicle Factories (Naval vs. Land)

The cause of the NCO bug is, indirectly, due to the developers' decision to treat Naval and land-based vehicles as members of the same VehicleType class, rather than creating a separate class. Shipyards are therefore classed as Factory=VehicleType, just like War Factories. This means the game will determine that you can build the land-based vehicles when you don't have a War Factory but do have a Shipyard, and vice versa for Naval vehicles.

The result of this is that, unless you set all ground vehicles to have a Prerequisite of at least one of the War Factories and set all Naval units to have a Prerequisite of at least one of the Shipyards, you'll get the NCO bug when you own one of the factories but not the other. You can add other prerequisites as well if you like, but all units must include a Prerequisite of a factory of the appropriate kind.

PrerequisiteOverride makes this difficult, since a satisfied PrerequisiteOverride causes Prerequisite to be ignored. If you set PrerequisiteOverride to something other than the appropriate factory, you'll get the bug. So it's best to stay away from this tag where possible.

Not The Owner

The NCO bug is also caused by being able to build a structure that your house doesn't 'own'. For example, if you have a building with

Prerequisite=BARRACKS
Owner=British,French,Germans,Americans,Alliance

then you will get the NCO bug as soon as you build your barracks if you're Soviet or Yuri (Allied will be okay). The reason for this is that, as described above, you do satisfy the prerequisites, but technically should not be allowed to build the structure.
The obvious solution to this is to make sure all countries are listed as owners of all buildings.

Disabling The EVA Dialog Event

Many people simply choose to disable the EVA sound, however this can be interpreted as a lazy and unprofessional option (although it should be noted that some mod authors have actually decided to disable the sound even though their mod doesn't have the bug).
Further more, disabling the sound will not help with the problem of sidebar jumping.

With the information contained on this page and The Prerequisite System page, you should be able to prevent this bug from manifesting, although some prerequisite combinations may not be possible.

If you do choose to disable the dialog event, simply comment out the values of Russian=csof049, Allied=ceva049 and Yuri=cyur049 (leave the flags themselves present).