@jtff/miztemplate-lib 3.0.2 → 3.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,6 +8,26 @@
8
8
  --
9
9
  env.info('JTFF-SHAREDLIB: shared library loading...')
10
10
 
11
+ DEBUG_MSG = false
12
+ DEBUG_SQ_MSG = false
13
+ DEBUG_DETECT_MSG = false
14
+
15
+ use_jtff_sound_mod = false
16
+
17
+ spawnStandardDelay = 15
18
+
19
+ sead = SEAD:New({})
20
+ map_marker = {}
21
+
22
+ AAMAxRange = {
23
+ MAX_RANGE = 0,
24
+ NEZ_RANGE = 1,
25
+ HALF_WAY_RMAX_NEZ = 2,
26
+ TARGET_THREAT_EST = 3,
27
+ RANDOM_RANGE = 4,
28
+ }
29
+
30
+
11
31
  function debug_msg(message)
12
32
  if DEBUG_MSG then
13
33
  env.info(string.format("[DEBUG] %s", message))
@@ -367,6 +387,78 @@ function destroyStatics(staticsToDelete, subRangeName)
367
387
  end
368
388
  end
369
389
 
390
+ function deleteSubRangeUnits(param)
391
+ --parameters :
392
+ -- 1 : groups to be destroyed
393
+ -- 2 : Root range config Object
394
+ -- 3 : sub (or subsub) Range Config Object
395
+ -- 4 : sub (or subsub) Radio Menu
396
+ -- 5 : mute switch
397
+ local groupsToSpawn = param[1]
398
+ local rangeConfig = param[2]
399
+ local subRangeConfig = param[3]
400
+ local radioCommandSubRange = param[4]
401
+ local blnMute = param[5]
402
+ for i = 1, #groupsToSpawn do
403
+ destroyGroup(groupsToSpawn[i])
404
+ end
405
+
406
+ local subRangeName = subRangeConfig.name
407
+ local staticsToDelete = subRangeConfig.staticsToSpawn
408
+ if (staticsToDelete ~= nil)then
409
+ destroyStatics(staticsToDelete, subRangeName)
410
+ else
411
+ debug_msg(string.format("No static in %s", subRangeName))
412
+ end
413
+
414
+ MESSAGE:NewType(string.format("Remove the site : %s-%s", rangeConfig.name, subRangeConfig.name),
415
+ MESSAGE.Type.Information):ToBlue()
416
+ if (not(blnMute)) then
417
+ sound2Bip:ToAll()
418
+ end
419
+ if radioCommandSubRange then
420
+ radioCommandSubRange:RemoveSubMenus()
421
+ addSubRangeRadioMenus(radioCommandSubRange, rangeConfig, subRangeConfig)
422
+ end
423
+ end
424
+
425
+ function deleteWholeRangeUnits(param)
426
+ local rangeConfig = param[1]
427
+ local rangeCoalitionMenu = param[2]
428
+ rangeCoalitionMenu:RemoveSubMenus()
429
+ if (rangeConfig.subRange ~= nil ) then
430
+ sound2Bip:ToAll()
431
+ MESSAGE:NewType(string.format("Removing the whole site : %s", rangeConfig.name),
432
+ MESSAGE.Type.Information):ToCoalition(rangeConfig.benefit_coalition)
433
+ for subIndex, subRangeConfig in ipairs(rangeConfig.subRange) do
434
+ local radioMenuSubRange = MENU_COALITION:New(rangeConfig.benefit_coalition, subRangeConfig.name, rangeCoalitionMenu)
435
+ if (subRangeConfig.subsubRange ~= nil) then
436
+ for subsubIndex, subsubRangeConfig in ipairs(subRangeConfig.subsubRange) do
437
+ local radioMenuSubSubRange = MENU_COALITION:New(rangeConfig.benefit_coalition, subsubRangeConfig.name, radioMenuSubRange)
438
+ deleteSubRangeUnits({
439
+ subsubRangeConfig.groupsToSpawn,
440
+ rangeConfig,
441
+ subsubRangeConfig,
442
+ nil,
443
+ true
444
+ })
445
+ addSubRangeRadioMenus(radioMenuSubSubRange, rangeConfig, subsubRangeConfig)
446
+ end
447
+ else
448
+ deleteSubRangeUnits({
449
+ subRangeConfig.groupsToSpawn,
450
+ rangeConfig,
451
+ subRangeConfig,
452
+ nil,
453
+ true
454
+ })
455
+ addSubRangeRadioMenus(radioMenuSubRange, rangeConfig, subRangeConfig)
456
+ end
457
+ end
458
+ end
459
+ AddWholeRangeCoalitionCommandMenus(rangeCoalitionMenu, rangeConfig)
460
+ end
461
+
370
462
  function setROE(param)
371
463
  local groupsToSpawn = param[1]
372
464
  local ROEvalue = param[2]
@@ -600,48 +692,6 @@ function markGroupOnMap(param)
600
692
  end
601
693
  end
602
694
 
603
- function addSubRangeRadioMenus(radioCommandSubRange, rangeConfig, subRangeConfig)
604
- local RadioCommandAdd = MENU_COALITION_COMMAND:New(
605
- rangeConfig.benefit_coalition,
606
- "Spawn",
607
- radioCommandSubRange,
608
- SpawnRangesDelay,
609
- {
610
- radioCommandSubRange,
611
- rangeConfig,
612
- subRangeConfig,
613
- spawnStandardDelay,
614
- addSubRangeRadioMenus
615
- }
616
- )
617
- end
618
-
619
- function AddWholeRangeCoalitionCommandMenus(radioCommandRange, rangeConfig)
620
- local AddWholeRangeCommand = MENU_COALITION_COMMAND:New(
621
- rangeConfig.benefit_coalition,
622
- "Spawn Whole Range",
623
- radioCommandRange,
624
- SpawnWholeRangesDelay,
625
- {
626
- radioCommandRange,
627
- rangeConfig,
628
- spawnStandardDelay,
629
- AddWholeRangeCoalitionCommandMenus
630
- }
631
- )
632
- local DeleteWholeRangeCommand = MENU_COALITION_COMMAND:New(
633
- rangeConfig.benefit_coalition,
634
- "Delete whole Range",
635
- radioCommandRange,
636
- deleteWholeRangeUnits,
637
- {
638
- rangeConfig,
639
- radioCommandRange
640
- }
641
- )
642
- return {AddWholeRangeCommand, DeleteWholeRangeCommand}
643
- end
644
-
645
695
  function SpawnRangesDelay(param)
646
696
  --parameters :
647
697
  -- 1 : parent Radio Menu
@@ -889,78 +939,6 @@ function SpawnRanges(param)
889
939
  markGroupOnMap({groupsToSpawn, rangeConfig.benefit_coalition})
890
940
  end
891
941
 
892
- function deleteSubRangeUnits(param)
893
- --parameters :
894
- -- 1 : groups to be destroyed
895
- -- 2 : Root range config Object
896
- -- 3 : sub (or subsub) Range Config Object
897
- -- 4 : sub (or subsub) Radio Menu
898
- -- 5 : mute switch
899
- local groupsToSpawn = param[1]
900
- local rangeConfig = param[2]
901
- local subRangeConfig = param[3]
902
- local radioCommandSubRange = param[4]
903
- local blnMute = param[5]
904
- for i = 1, #groupsToSpawn do
905
- destroyGroup(groupsToSpawn[i])
906
- end
907
-
908
- local subRangeName = subRangeConfig.name
909
- local staticsToDelete = subRangeConfig.staticsToSpawn
910
- if (staticsToDelete ~= nil)then
911
- destroyStatics(staticsToDelete, subRangeName)
912
- else
913
- debug_msg(string.format("No static in %s", subRangeName))
914
- end
915
-
916
- MESSAGE:NewType(string.format("Remove the site : %s-%s", rangeConfig.name, subRangeConfig.name),
917
- MESSAGE.Type.Information):ToBlue()
918
- if (not(blnMute)) then
919
- sound2Bip:ToAll()
920
- end
921
- if radioCommandSubRange then
922
- radioCommandSubRange:RemoveSubMenus()
923
- addSubRangeRadioMenus(radioCommandSubRange, rangeConfig, subRangeConfig)
924
- end
925
- end
926
-
927
- function deleteWholeRangeUnits(param)
928
- local rangeConfig = param[1]
929
- local rangeCoalitionMenu = param[2]
930
- rangeCoalitionMenu:RemoveSubMenus()
931
- if (rangeConfig.subRange ~= nil ) then
932
- sound2Bip:ToAll()
933
- MESSAGE:NewType(string.format("Removing the whole site : %s", rangeConfig.name),
934
- MESSAGE.Type.Information):ToCoalition(rangeConfig.benefit_coalition)
935
- for subIndex, subRangeConfig in ipairs(rangeConfig.subRange) do
936
- local radioMenuSubRange = MENU_COALITION:New(rangeConfig.benefit_coalition, subRangeConfig.name, rangeCoalitionMenu)
937
- if (subRangeConfig.subsubRange ~= nil) then
938
- for subsubIndex, subsubRangeConfig in ipairs(subRangeConfig.subsubRange) do
939
- local radioMenuSubSubRange = MENU_COALITION:New(rangeConfig.benefit_coalition, subsubRangeConfig.name, radioMenuSubRange)
940
- deleteSubRangeUnits({
941
- subsubRangeConfig.groupsToSpawn,
942
- rangeConfig,
943
- subsubRangeConfig,
944
- nil,
945
- true
946
- })
947
- addSubRangeRadioMenus(radioMenuSubSubRange, rangeConfig, subsubRangeConfig)
948
- end
949
- else
950
- deleteSubRangeUnits({
951
- subRangeConfig.groupsToSpawn,
952
- rangeConfig,
953
- subRangeConfig,
954
- nil,
955
- true
956
- })
957
- addSubRangeRadioMenus(radioMenuSubRange, rangeConfig, subRangeConfig)
958
- end
959
- end
960
- end
961
- AddWholeRangeCoalitionCommandMenus(rangeCoalitionMenu, rangeConfig)
962
- end
963
-
964
942
  function SpawnFacRangesDelay(param)
965
943
  local facRangeConfig = param[2]
966
944
  local facSubRangeConfig = param[3]
@@ -1012,6 +990,48 @@ function SpawnFacRanges(param)
1012
990
  markGroupOnMap({ groupsToSpawn, facRangeConfig.benefit_coalition})
1013
991
  end
1014
992
 
993
+ function addSubRangeRadioMenus(radioCommandSubRange, rangeConfig, subRangeConfig)
994
+ local RadioCommandAdd = MENU_COALITION_COMMAND:New(
995
+ rangeConfig.benefit_coalition,
996
+ "Spawn",
997
+ radioCommandSubRange,
998
+ SpawnRangesDelay,
999
+ {
1000
+ radioCommandSubRange,
1001
+ rangeConfig,
1002
+ subRangeConfig,
1003
+ spawnStandardDelay,
1004
+ addSubRangeRadioMenus
1005
+ }
1006
+ )
1007
+ end
1008
+
1009
+ function AddWholeRangeCoalitionCommandMenus(radioCommandRange, rangeConfig)
1010
+ local AddWholeRangeCommand = MENU_COALITION_COMMAND:New(
1011
+ rangeConfig.benefit_coalition,
1012
+ "Spawn Whole Range",
1013
+ radioCommandRange,
1014
+ SpawnWholeRangesDelay,
1015
+ {
1016
+ radioCommandRange,
1017
+ rangeConfig,
1018
+ spawnStandardDelay,
1019
+ AddWholeRangeCoalitionCommandMenus
1020
+ }
1021
+ )
1022
+ local DeleteWholeRangeCommand = MENU_COALITION_COMMAND:New(
1023
+ rangeConfig.benefit_coalition,
1024
+ "Delete whole Range",
1025
+ radioCommandRange,
1026
+ deleteWholeRangeUnits,
1027
+ {
1028
+ rangeConfig,
1029
+ radioCommandRange
1030
+ }
1031
+ )
1032
+ return {AddWholeRangeCommand, DeleteWholeRangeCommand}
1033
+ end
1034
+
1015
1035
  function AddFacFunction(radioCommandSubRange, facRangeConfig, facSubRangeConfig)
1016
1036
  local RadioCommandAdd = MENU_COALITION_COMMAND:New(
1017
1037
  facRangeConfig.benefit_coalition,
@@ -1,6 +1,7 @@
1
1
  -- *****************************************************************************
2
2
  -- ** RANGES **
3
3
  -- *********************************************************
4
+
4
5
  RangesArray = {}
5
6
  compteur = 0
6
7
  mainRadioMenuForRangesBlue = MENU_COALITION:New( coalition.side.BLUE , "RANGES", MenuCoalitionBlue )
@@ -568,7 +568,7 @@ function manageIADSNetworkMenu(networkRootMenu, iadsconfig, IADSObjectIndex)
568
568
  deactivateSkynet,
569
569
  { iadsconfig, IADSObjectIndex, networkRootMenu }
570
570
  )
571
- --TODO: A tweaker pour que les objets skynets soient basés sur la coalition et non sur la mission globale
571
+ --TODO: A tweaker pour que les objets skynets seront basés sur la coalition et non sur la mission globale
572
572
  if (type(iadsconfig.gci) == "table") then
573
573
  local CommandGCIActivate = MENU_MISSION_COMMAND:New(
574
574
  "GCI Activation",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jtff/miztemplate-lib",
3
- "version": "3.0.2",
3
+ "version": "3.0.3",
4
4
  "description": "JTFF mission template library",
5
5
  "main": "index.js",
6
6
  "files": [
File without changes
File without changes