Yep, you don't need to edit the equipment files, they are all right. It sounds to me that the destroyers weren't firing starshells, only the one merchant in your test.
You could check your IRAI settings (data/scripts/AI/ship-weapons.aix), it should look something like this:
Code:
###################################################################################################
#
# Ship weapons:
#
strategy ShipFire(Ship)
{
precond
{
Ship:ContactPresenceIs(PRESENCE_SENSORS, 0) or (Ship:ContactPresenceIs(PRESENCE_LOOSING, 0) and Ship:GetContactLostTime() <= 360.0)
}
strategies
{
DC,
Cannons,
CannonsAtSubmerged,
#CheckStarshellEnable,
ShipFireStarShells,
ShipFireStarShellsDistance
}
}
strategy DC(Ship)
{
precond
{
Ship:ContactIs(SUBMARINE) or (Ship:ContactIs(UNITUNKNOWN) and Ship:GetContactDepth() <= -4.0) #SUBISSUBMERGEDDEPTH
}
strategies
{
DCRacks,
HHogs,
DCThrower
}
}
strategy DCRacks(Ship)
{
precond
{
Ship:CanFireDCRacks() and Ship:GetContactDepth() <= -4.0 and Ship:GetCurrentSpeed() >= 2 #SUBISSUBMERGEDDEPTH
}
action
{
Ship:FireDCRacks();
}
}
strategy HHogs(Ship)
{
precond
{
Ship:CanFireHHogs()
}
action
{
Ship:FireHHogs();
}
}
strategy DCThrower(Ship)
{
precond
{
Ship:CanFireDCThrowers()
}
action
{
Ship:FireDCThrowers();
}
}
strategy Cannons(Ship)
{
precond
{
Ship:CanFireCannons()
}
action
{
Ship:FireCannons();
}
}
strategy CannonsAtSubmerged(Ship)
{
precond
{
(Ship:ContactPresenceIs(PRESENCE_LOOKOUT, 0) or Ship:ContactPresenceIs(PRESENCE_SONAR, 0)) and (Ship:ContactIs(SUBMARINE) or Ship:ContactIs(UNITUNKNOWN)) and Ship:GetContactDepth() <= 0.0 and Ship:GetContactDepth() >= -20.0 and Ship:GetContactRelDist() <= 8000
}
action
{
Ship:FireCannons();
}
}
#strategy CheckStarshellEnable(Ship)
#{
# precond
# {
# (Ship:ContactPresenceIs(PRESENCE_SENSORS, 0) or Ship:ContactPresenceIs(PRESENCE_LOOSING, 0)) and Ship:GetContactRelDist() <= 10000
# }
# action
# {
# Ship:EnableStarshells();
# }
#}
strategy ShipFireStarShells(Ship)
{
precond
{
Ship:CanFireStarShells() and Ship:GetContactRelDist() <= 10000
}
action
{
Ship:FireStarShells();
}
}
strategy ShipFireStarShellsDistance(Ship)
{
precond
{
Ship:GetContactRelDist() <= 10000
}
action
{
Ship:FireStarShells();
#Ship:ShipWaitAction(10)
Ship:TimeEventHappen(5);
}
}
Main thing is that FireStarShells and ShipFireStarShellsDistance is unchecked!