The 'Billy' tactical nuke has only 2 health while the normal CDR tactical missile has 3, one more than it does. Upgrading consequently reduces the UEF CDR missile health. It should be set to either 3 or 4.
Seraphim T1 mobile anti air gun
To get the unit to fire from both muzzles, just set "UseFiringSolutionInsteadOfAimBone" to true and re-add the second muzzle to its muzzle list.
Air Scout No Sonar Ring
Add OVERLAYSONAR to make it display the sonar ring. Right now it doesn't show.
Limiting Directfire Naval Oblivion Gun Wasted Shots
The number of wasted oblivion cannon shots from the Aeon battleship and destroyer can be reduced by setting the firing tolerance so that the weapon will finish charging just as the weapon lines up on target. To do this, make the FiringTolerance = (MuzzleChargeDelay) * (TurretYawSpeed). I suggest a tolerance of ( 2.5 seconds * 90 degrees per second) = 225 for the Destroyer, (2.5 seconds * 60 degrees per second) = 150 for the T3 Battleship, and (2.5 seconds * 10 degrees per second) = 25 for the Experimental Battleship.
UEF Strategic Missile Submarine
The missile bay doors do not close properly on the sub. Change its weapon scripts so that they look like this:
- Code: Select all
CruiseMissiles = Class(TIFCruiseMissileLauncherSub) {
CurrentRack = 1,
PlayFxMuzzleSequence = function(self, muzzle)
local bp = self:GetBlueprint()
self.Rotator = CreateRotator(self.unit, bp.RackBones[self.CurrentRack].RackBone, 'z', nil, 90, 90, 90)
muzzle = bp.RackBones[self.CurrentRack].MuzzleBones[1]
self.Rotator:SetGoal(90)
TIFCruiseMissileLauncherSub.PlayFxMuzzleSequence(self, muzzle)
WaitFor(self.Rotator)
WaitSeconds(1)
self.Rotator:SetGoal(90) --<--added
WaitFor(self.Rotator) --<--added
self.Rotator:Destroy() --<--added
self.Rotator = nil --<--added
end,
CreateProjectileAtMuzzle = function(self, muzzle)
muzzle = self:GetBlueprint().RackBones[self.CurrentRack].MuzzleBones[1]
if self.CurrentRack >= 6 then
self.CurrentRack = 1
else
self.CurrentRack = self.CurrentRack + 1
end
TIFCruiseMissileLauncherSub.CreateProjectileAtMuzzle(self, muzzle)
end,
PlayFxRackReloadSequence = function(self)
WaitSeconds(1)
self.Rotator:SetGoal(0)
WaitFor(self.Rotator)
self.Rotator:Destroy()
self.Rotator = nil
end,
},
NukeMissiles = Class(TIFStrategicMissileWeapon) {
CurrentRack = 1,
PlayFxMuzzleSequence = function(self, muzzle)
local bp = self:GetBlueprint()
self.Rotator = CreateRotator(self.unit, bp.RackBones[self.CurrentRack].RackBone, 'z', nil, 90, 90, 90)
muzzle = bp.RackBones[self.CurrentRack].MuzzleBones[1]
self.Rotator:SetGoal(90)
TIFStrategicMissileWeapon.PlayFxMuzzleSequence(self, muzzle)
WaitFor(self.Rotator)
WaitSeconds(1)
self.Rotator:SetGoal(90) --<--added
WaitFor(self.Rotator) --<--added
self.Rotator:Destroy() --<--added
self.Rotator = nil --<--added
end,
CreateProjectileAtMuzzle = function(self, muzzle)
muzzle = self:GetBlueprint().RackBones[self.CurrentRack].MuzzleBones[1]
if self.CurrentRack >= 2 then
self.CurrentRack = 1
else
self.CurrentRack = self.CurrentRack + 1
end
TIFStrategicMissileWeapon.CreateProjectileAtMuzzle(self, muzzle)
end,
PlayFxRackReloadSequence = function(self)
WaitSeconds(1)
self.Rotator:SetGoal(0)
WaitFor(self.Rotator)
self.Rotator:Destroy()
self.Rotator = nil
end,
},
UEF SCU Drones
Add this script to the SCU to make it rebuild its drones.
- Code: Select all
RebuildPod = function(self, Pod)
local ecobp = self:GetBlueprint().Pod
self.RebuildingPod = CreateEconomyEvent(self, 1600, 160, 10, self.SetWorkProgress)
self:RequestRefreshUI()
WaitFor(self.RebuildingPod)
self:SetWorkProgress(0.0)
local location = self:GetPosition('AttachSpecial01')
local pod = CreateUnitHPR('UEA0003', self:GetArmy(), location[1], location[2], location[3], 0, 0, 0)
pod:SetParent(self, 'Pod')
pod:SetCreator(self)
self.Trash:Add(pod)
self.HasPod = true
self.Pod = pod
self:RequestRefreshUI()
end,
NotifyOfPodDeath = function(self, pod)
if self.HasPod == true then
self:ForkThread(self.RebuildPod)
else
self:ForkThread(self.RebuildPod)
end
end,
Or something like that. Of course you didn't need me to tell you how to do this, but I really want FAF to have SCUs that rebuild drones and I don't know where else to take this...
Missing Weapon Muzzles/Racks
Enumerated bellow:
Seraphim Battleship;
Nuke muzzles and racks should include the unused second launcher, Projectile02 in addition to Projectile01
Aeon Destroyer;
Torpedo muzzles should be Projectile01,02,03,04
Torpedo Defense muzzles should be Projectile06,07,08,09
Depth Charge muzzle should be Projectile05 not uas0201
Aeon Submarine Hunter;
Torpedo Defense uses Projectile_Right_Center01 and Left_Center01, but not Projectile_Right_Center02 and Left_Center02
Aeon Frigate;
Torpedo Defense muzzles should be Projectile01 and 02
Cybran Submarine Killer;
Unused muzzles for torpedo defense include Flare_Muzzle03 and 04
Aeon Torpedo Defense
AIMTorpedoDefense is too slow compared to the other anti torpedo projectiles that the aeon and seraphim use. Add/change the following stats to make it useful
- Code: Select all
#Acceleration = 30, --removed, others don't have this
#Lifetime = 0.5, --removed, the others dont have a lifetime
MaxSpeed = 30, #from 10, all other similar projectiles have it at 30
Aircraft Exhuast
There are several aircraft with missing exhaust effects, including:
UEF;
air scout (jet effect)
Cybran;
air scout (jet effect), interceptor (jet effect), ASF (jet effect), and all gunships except soul ripper (they have unused exhaust bones)
Seraphim:
air scout (white fire stuff), interceptor (white fire), gunship (white fire), fighter/bomber (white fire on both ring engines), torpedo bomber (two unused ring engines for white fire), ASF (two unused ring engine exhausts for white fire), spy plane (has engines like the transports, but has no white fire exhaust, just wavy seraphim contrails)
Unused Rocking Thread
If you guys want, GPG left in a thread that makes ships rock in the water when stopped. Just add
- Code: Select all
Display = {
MaxRockSpeed = (number),
},
Tempest Building T3 Ships
This isn't really a bugfix so much as making the Tempest fit in with the other experimental factory units. Give it the regular tbuild tree options for construction and then insert this into the BuildState function of the script so that the T3 ships don't overlap with the Tempest during construction:
- Code: Select all
elseif EntityCategoryContains( categories.uas0203, unitBuilding ) then
unitBuilding:SetParentOffset( {0,0,1.5} )
elseif EntityCategoryContains( categories.xas0204, unitBuilding ) then
unitBuilding:SetParentOffset( {0,0,1.4} )
elseif EntityCategoryContains( categories.uas0302, unitBuilding ) then
unitBuilding:SetParentOffset( {0,0,6.4} )
elseif EntityCategoryContains( categories.uas0303, unitBuilding ) then
unitBuilding:SetParentOffset( {0,0,7.85} )
elseif EntityCategoryContains( categories.uas0304, unitBuilding ) then
unitBuilding:SetParentOffset( {0,0,1.75} )
elseif EntityCategoryContains( categories.xas0306, unitBuilding ) then
unitBuilding:SetParentOffset( {0,0,5.75} )
Soul Ripper
The soulripper's electron bolters deal splash damage, but its rockets do not. This is purely aesthetic, but it would be nice to have it fixed.