Fractal Softworks Forum

Please login or register.

Login with username, password and session length

Author Topic: [0.95a-RC15] possible inconsistency in how game determines if ship is civilian  (Read 366 times)

Daera

  • Ensign
  • *
  • Posts: 3
    • View Profile

Hello,

I think there is an inconsistency between what the game determines what is a civilian ship.

For character abilities like crewtraining, fluxregulation, weapondrills, etc the game determines that a ship like valkyrie or phantom counts towards the limit. phantom in particular has no weapon slots at all.

However ships like kite or colossus mk3 which have civilian mod (and no militarized systems added), they still are able to perform some combat related actions such as pursuing fleeing enemies but don't count towards the limit.

I see that in BaseSkillEffectDescription.java in the public static boolean isCivilian(FleetMemberAPI member) function, whether or not a ship is determined to count towards character skills like crewtraining, fluxregulation etc, is determined by:
            stats.getVariant().hasHullMod(HullMods.CIVGRADE) &&
            !stats.getVariant().hasHullMod(HullMods.MILITARIZED_SUBSYSTEMS);// &&

So I can see here the game sees valkyrie and phantom as NOT civilian and so count towards the limit, but kite or colossus mk3 as civilian and so don't count.


On the other hand, in ship_data.csv, I see the valkyrie and phantom are considered CIVILIAN, but kite and colossus mk3 are not.

For purposes of fleet encounter weighting in FleetEncounterContext.java, in    public float computeBattleDifficulty() { function,
It applies a lesser weight for civilian ships:
         else if (member.isCivilian()) mult *= 0.25f;

My question is, for the computebattledifficulty calculation, does it count valkyrie, phantom as civilian here and apply the 0.25 weight? How about kite and colossus mk3 are those applied the 0.25 weight, are those considered civilian here?

If not a response from Alex to answer, I would like location in the code where it shows exactly where valkyrie, phantom, kite, and colossus mk3 are determined to be civilian for its usage in the computebattledifficulty calculation and not just guesses.

Thanks.




« Last Edit: June 26, 2021, 12:09:48 PM by Daera »
Logged

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 20047
    • View Profile

(There is a bug here where the Phantom/Revenant should really count as civilian, but beyond that, it's more of a question, so, moving this to what feels like a more appropriate board.)

My question is, for the computebattledifficulty calculation, does it count valkyrie, phantom as civilian here and apply the 0.25 weight? How about kite and colossus mk3 are those applied the 0.25 weight, are those considered civilian here?

IIRC for this only the Phantom would count as civilian due to having no weapons or fighters. That method is basically "does it have the CIVILIAN flag? It's civilian. Otherwise: does it have any weapons/fighters?"
Logged

Daera

  • Ensign
  • *
  • Posts: 3
    • View Profile

Thanks for the reply
« Last Edit: June 26, 2021, 01:00:15 PM by Daera »
Logged