Replacing the Fog of War with shroud
It is possible to replace the fog of war system with the shroud system like in the older C&C games. To do this, open Data/INI/multiplayer.ini and set UseShroud to Yes. Now the game will start off shrouded, but once revealed the fog will grow back. This is what it's like in the single-player campaign. To stop the fog from growing back, go to Data/INI/GameData.ini and all the way down the bottom is a setting called UnlookPersistDuration, which sets how long it takes after a unit moves or dies before the fog grows back. Set it to 99999999999999999999 or some other rediculously high number. If the number is high enough, the fog will effectively never grow back, so all you will see is shroud. Once a unit has been at a location, the shroud will disappear and the location stays visible (almost) indefinitely.
Veteran Abilities
You can make a unit change weapons, locomotors, become stealthed, get an armour boost, and more, when it reaches a certain veterancy level, just like in Red Alert 2. Remember those 4-shooter Apocalypse tanks? You can have those in Generals too. Here's what you do. Imagine your unit has a weaponset like this one:
Code:
WeaponSet
Conditions = None
Weapon = PRIMARY SomeWeapon
End
Now it's interesting to know that any veterancy increase also triggers an upgrade when it reaches the next level. These upgrades are named "Upgrade_Veterancy_VETERAN", "Upgrade_Veterancy_ELITE" and "Upgrade_Veterancy_HEROIC". These upgrades are all OBJECT-type upgrades, so they only affect the unit that gets them, not anything else.
So now that we have an upgrade, it's easy to turn this into a new weapon. If we want the unit to get a better weapon when it reaches ELITE level, you'd need this code:
Code:
Behavior = WeaponSetUpgrade ModuleTag_09
TriggeredBy = Upgrade_Veterancy_ELITE Upgrade_Veterancy_HEROIC
End
Remember that in some cases a unit can skip ELITE and go straight to HEROIC, if the target it destroys is worth enough points. So we need to include them both. Then, all we need is a new WeaponSet:
Code:
WeaponSet
Conditions = None
Weapon = PRIMARY SomeWeapon
End
WeaponSet
Conditions = PLAYER_UPGRADE
Weapon = PRIMARY SomeWeaponElite
End
You could also give the unit an extra SECONDARY weapon when it reaches a certain level. As far as upgrades go, you can do anything. You could give it a better locomotor (imagine allowing a tank to hover when it reaches elite), more health, create an OCL, make it invisible, etc. You should remember though that this is an upgrade like any other, so if the unit already has an upgrade that affects the same thing as a veterancy upgrade, the two will conflict with each other. So you can't give a unit an elite WeaponSet if it already has another WeaponSetUpgrade. Of course you can still give it a WeaponBonusUpgrade instead, so use your imagination.
