-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create CNTO-specific checks for Validate Mission #28
Comments
Some requirements for our missions such as having a title, having the opord filled in. I think most of the MMT checklist could be automated. I can probably implement the cnto specific stuff. |
@baegel49 as MMM you probably have a chance to make your life easier here so give it some thought. |
I already mentioned title/author/picture/etc ("Some mission info basics"), but checking whether |
I've added the persistent callsign check to A3AA directly, so that's one less thing here. For the rest, the ...
requiredAddons[] = {
"cba_xeh",
"a3aa_ee_validate_mission"
};
...
class CfgFunctions {
class cnto_validate_mission_checks {
class all {
file = "\cnto\validate_mission_checks";
class run;
};
};
};
...
class Extended_PreInit_EventHandlers {
class cnto_validate_mission_checks {
init = "cnto_validate_mission_checks_fnc_run call a3aa_ee_validate_mission_fnc_register";
};
}; and the private _check_something = {
if (game type in ["Coop","PvP"]) then {
["Check something", true]
} else {
["Check something", false, [objects or whatever that failed], [
"Checking for something failed, you suck.",
"Try this and that and unbreaking it."
]]
};
};
...
[
[] call _check_something,
...
] The reason for using private functions is that you can private _pass = { ["Check something", true] };
if (no applicable units) exitWith _pass;
private _blabla = process something;
if (isNil "_blabla") exitWith _pass;
... |
added a magnified scope adjustability check to #28 (comment) |
Crossed out items implemented by #30 . |
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:
_ID_1234
instead of generic onesBut I figured https://community.bistudio.com/wiki/Eden_Editor:_Setting_Attributes could give some other ideas, ie.
GameType
being eitherCoop
orPvP
, anything else might indicate broken / missing module compositionRespawn
set to custom position (whichever number is that)while at it, for coop, filterplayableUnits
to get all sides of players, check that each side has its appropriate respawn marker (inall3DENEntities select 5
- markers), don't forget to accept all valid variations onrespawn_guer[r]il[l]a
also check that the marker is invisible, alpha attribute valuealso 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 markerSome mission info basics the MM might have forgotten to fillIn 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 justallVariables 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 againThen maybe
check ifcount playableUnits > 10
, just in caseplayableUnits
? ..persistent callsigns have been restored (for all-- I will do that in A3AA directly, seems generic enough // doneall3DENEntities select 1
, check if thea3aa_ee_persistent_callsign
attribute exists and if it's non-empty string, then the groupId attribute must match it)all3DENEntities select 0
using Role Description (_obj get3DENAttribute "description" select 0
)lineIntersectsSurfaces
pointing down - if you get ground while on the table as well, try starting from the center of the laptop/scopebox modeldayTime
,get3DENMissionAttribute
is broken for anything in EnvironmentI'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
roleDescription
has a ACE-compatible magnified scopeACE_ScopeAdjust_*
attributes need to be defined for it inCfgWeapons
The text was updated successfully, but these errors were encountered: