Questions Not Worth Their Own Thread

Did you then press the update button on the copied design?

4 Likes

No - thank you, this fixed it!

For those of you who are like me, there are two update buttons at the bottom - update armour and update CDE.

Thanks again for the fix

2 Likes

In case there’s a hidden research tech yet to be revealed are drop pods just that - you can’t improve armour or drop speed it’s just your transport is equipped with drop pods

and is there an optimum range to drop from? Does one have to be in orbit or can you drop from a stand off position

Troop transport drop bays behave exactly like normal troop transport bays except that they allow you to use the orbital drop order (for one ground unit or all units), which unloads the troops instantly upon arrival at the targeted body.

Ahh right so into orbit and then drop

0.4% chance to hit a STO either from 200k km or in orbit above planet

is this an STO with some serious jamming packages in excellent terrain?

There are a variety of ways to get there with terrain combinations and fortification levels. You know more than we do about the situation.

I know it’s 1200t STO in the desert - that’s all I’ve got - as far as I know - is there a screen that gives me more info

There is a base chance to hit a ground unit (20%), which is divided by 3 if you don’t have a forward observer on the surface directing fire (a unit with an FFD component). This is to simulate camouflage, ground clutter, etc..

That is multiplied by any to-hit modifier for the terrain (harder to find someone in forests or jungle) and by the target element morale / 100 (better at avoiding fire).

The result of that is divided by the fortification level (including the terrain fortification modifier, the unit’s own fortification level and any defence bonus of the formation commander), as being dug in helps and being dug into mountain caves helps a lot more.

So an STO unit in a desert would be:

0.2 (base) x 0.333 (blind fire) x 1 (to hit modifier) = 6.67%

Fortification could be as high as 6 if the STO has engineer support, but desert is 0.75 modifier (hard to fortify in sand), so 6.67% / 4.5 = 1.48%

It could have high morale or a commander with a high defence bonus, or your ships could have low morale, both of which affect the chance, as well as your crew grade.

Even so, there is a gap between 1.5% and 0.4%. If it was a desert mountain though, the chance to hit would be around 0.5%.

The 1200 tons is the signature. That is actual size divided by effective fortification level.

3 Likes

I think I may have overestimated my awesome power!

for some reason I expected 5 x 25 beams to reduce the STO to a molten pool in 5 seconds - turns out it took 240 seconds - I can live with that :joy:

I had to fight some STO defences on a jungle mountain world. It was so hard to hit them I had to resupply my ships twice and eventually got rid of the jungle by creating so much dust, it lowered the surface temperature by thirty degrees :slight_smile:

I’ve also used armoured transports to run the gauntlet and take them out on the surface with ground troops.

4 Likes

The to-hit chance here is that the terrain to-hit? Or the unit base type to-hit chance? I assume both come into play with Orbital bombardment like they do in ground combat.

The Surface to Orbit combat description from the original patch notes says that orbital bombardment of STO forces doesn’t suffer from the “blind fire” modifier as STO forces have “given away their general location”, is that still true?

Also it’s not clear to me from the notes if ground force commander [defensive] bonuses and ground force morale bonuses apply to Naval Bombardment of Ground forces, but based on your response they do. Could you describe exactly how those bonuses are applied?

You are correct - blind fire doesn’t apply to STO units. I missed a line when checking the code. To hit is base chance to hit.

This is the relevant part of the code. GROUNDCOMBATTOHIT is 0.2.

ToHit = GROUNDCOMBATTOHIT * p.PopulationSystemBody.DominantTerrain.ToHitModifier * (TargetElement.ElementMorale / 100) * BlindFireModifier;

TargetFortificationLevel = p.PopulationSystemBody.DominantTerrain.FortificationModifier * TargetElement.FortificationLevel * TargetFormation.CommanderFortificationBonus;

ToHit = ToHit / TargetFortificationLevel

If the target isn’t fortified its a different calculation.

1 Like

Oh interesting, that means that for the purposes for orbital bombardment regarding normal units, it looks like the base unit type evasion doesn’t actually factor in.

It does for a non-fortified unit. For a target with a fortification level of 1, the calculation is different.

ToHit = GROUNDCOMBATTOHIT * p.PopulationSystemBody.DominantTerrain.ToHitModifier * TargetElement.ElementClass.BaseType.ToHitModifier * (TargetElement.ElementMorale / 100) * (decimal)0.33;

2 Likes

The “(decimal)0.33” for the non-fortified unit is blind fire and can be mitigated by FFD.
Is that right?

It’s a long time since I wrote that code so I am not entirely sure :slight_smile:

However, the fact there is no blind fire reference on that line and blind fire is 0.33, suggests that at the time I added a specific blind fire modifier to replace the hardcoded 0.33, allowing me to account for STOs, then only replaced it on one line and not both.

However, as STOs are never mobile, it would be the 0.33 blind fire modifier anyway so in practical terms it makes no difference. I’ve changed it anyway to make it more readable.

Fire aided by FFD is a part of ground combat and handled elsewhere. This code is for naval combat.

Just to clarify, “TargetElement” is the firing element (in this case a ship) and not the element being fired upon, right? If not it makes a high-morale element easier to hit which doesn’t make sense.

Does morale of an element being fired upon affect their defensive capability at all, such as modifying their fortification level or the firing unit’s chance to hit? I just want to make sure because you mentioned high STO morale as possibly reducing @undercovergeek’s hit probability here

but it looks like only the morale of the firing element/ship is checked for the to-hit and fortification calculations that you posted after.

TargetElement is the target element within the target formation. I see the problem though as it should be 100/morale, or it is a penalty for higher morale.

When checking the logic, I initially assumed my original intention was that higher morale units are harder to hit (assuming better prep, better fortification, etc.).

However, looking at all other similar instances in the code, it was the firing element morale that affected the chance to hit. I think I just copy pasted those similar lines from attacks by ground units vs other ground units and STO vs ships, when I should have just removed element morale entirely from that calculation.

There is a line of code further down for both the above cases, which covers crew grade of the firing ship
ToHit = ToHit * (decimal) cr.FiringShip.ShipToHitModifier;

    public double ReturnShipToHitModifier()
    {
        try
        {
            double ShipToHitModifiers = 1;

            // apply crew grade modifier
            double Grade = 1 + (double) CrewGradePercentage() / 100;
            ShipToHitModifiers = ShipToHitModifiers * Grade * (double) CrewMorale * (double) OverhaulFactor;

            // apply any commanding officer bonus
            Commander CO = ReturnCommander(AuroraCommandType.Ship);

            if (Class.Size > 20)
            {
                if (CO != null) ShipToHitModifiers = ShipToHitModifiers * (double)CO.ReturnShipCommanderBonusContribution(AuroraCommanderBonusType.Tactical);
            }
            else
            {
                if (CO != null) ShipToHitModifiers = ShipToHitModifiers * (double)CO.ReturnBonusValue(AuroraCommanderBonusType.LightTactical);
            }

            // apply any tactical officer bonus
            Commander TO = ReturnCommander(AuroraCommandType.TacticalOfficer);
            if (TO != null) ShipToHitModifiers = ShipToHitModifiers * (double)TO.ReturnBonusValue(AuroraCommanderBonusType.Tactical);

            // apply crew morale - is a percentage value
            ShipToHitModifiers = ShipToHitModifiers * (double)CrewMorale;

            return ShipToHitModifiers;
        }
        catch (Exception error) { GlobalValues.ErrorHandler(error, 346); return 1; }
    }

This is why I don’t generally share code - it ends up being a deep rabbit hole. In this case though, it highlighted a bug.

3 Likes