Skip to content

Create CNTO-specific checks for Validate Mission #28

@freghar

Description

@freghar

https://github.com/freghar/arma-additions/tree/46ee20d7ae/addons/editor_extensions/validate_mission is currently still unreleased, but I figured we should collect some ideas what to check to help out MMT in reviewing missions.

First of all, there are the existing checks from a3aa:

  • Overloaded units
  • Bad MP lobby ordering
  • Unique ACRE2 radios with _ID_1234 instead of generic ones

But I figured https://community.bistudio.com/wiki/Eden_Editor:_Setting_Attributes could give some other ideas, ie.

  • GameType being either Coop or PvP, anything else might indicate broken / missing module composition
  • Respawn set to custom position (whichever number is that)
    • while at it, for coop, filter playableUnits to get all sides of players, check that each side has its appropriate respawn marker (in all3DENEntities select 5 - markers), don't forget to accept all valid variations on respawn_guer[r]il[l]a
      • will do this in A3AA directly, since it's not specific to CNTO
      • also check that the marker is invisible, alpha attribute value
      • also check that it's within 100m of the Player unit (or any playable unit if you wish) - doesn't have to always PASS, but it's a good catch if the MM moves units in 3D space, but forgets to select the marker
  • Some mission info basics the MM might have forgotten to fill

In addition, list (in an always-PASSing check) all mission-modified CBA settings: (allVariables CBA_settings_mission) select { ([_x] call CBA_settings_fnc_priority) isEqualTo "mission" }; (you could theoretically use just allVariables cba_settings_mission, but that would include mission-modified-but-not-enforced settings)

  • Extend respawn marker check to check for duplicates - this can be valid, but more likely is a result of a MM placing faction composition, deleting it in 3D space, and placing it again

Then maybe

  • check if count playableUnits > 10, just in case
  • check for some known-good role description in playableUnits? ..
  • persistent callsigns have been restored (for all all3DENEntities select 1, check if the a3aa_ee_persistent_callsign attribute exists and if it's non-empty string, then the groupId attribute must match it) -- I will do that in A3AA directly, seems generic enough // done
  • viscom/scopebox/telestation/whatever additional compositions were placed - search for them in all3DENEntities select 0 using Role Description (_obj get3DENAttribute "description" select 0)
    • check that their respective markers (get marker text to figure out which one is which) are within 5m of the object, in case the MM moved all objects in 3D space
    • report FAIL if they're not found - to detect composition bugs (empty role description on these objects)
  • viscom/scopebox are on their tables, not above or under
    • maybe try lineIntersectsSurfaces pointing down - if you get ground while on the table as well, try starting from the center of the laptop/scopebox model
  • if the mission time of day is between 21h and 04h (or so), check for NVGs or flares -- use dayTime, get3DENMissionAttribute is broken for anything in Environment
  • check if there are multiple map markers with text "VISCOM" or "Telestation" or so, catching an issue where MM places down a composition, deletes it in 3d, and leaves the old markers behind
  • check if all units have skill == 0.5, because some mods (3CB) change this and some AI mods (ie. mine) detect that as a user change and avoid dynamically assigned skill because of it

I'm out of ideas, ... anything else reasonably checkable? .. Most of the items on MMT checklist (headless client, etc.) are already indirectly covered by some of the things above.

Any volunteers wanting to implement this? .. I can push an example of 2 checks or something to get started.


PS: this is deferred to a time when the compositions have a new sniper team in place of the old DMT

Metadata

Metadata

Assignees

No one assigned

    Labels

    EnhancementChanges to existing features not based on mod updatesFeature RequestNew feature currently not present in this repository

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions