Arma Reforger Explorer  1.1.0.42
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
SCR_Faction.c
Go to the documentation of this file.
3 typedef ScriptInvokerBase<ScriptInvoker_FactionPlayableChangedMethod> ScriptInvoker_FactionPlayableChanged;
4 
5 //------------------------------------------------------------------------------------------------
7 {
8  [Attribute(defvalue: "0", desc: "Order in which the faction appears in the list. Lower values are first.")]
9  protected int m_iOrder;
10 
11  [Attribute("1 1 1", UIWidgets.ColorPicker, desc: "Outline faction color")]
12  private ref Color m_OutlineFactionColor;
13 
14  [Attribute(defvalue: "1", desc: "Will the faction appear in the respawn menu?")]
15  private bool m_bIsPlayable;
16 
17  [Attribute("", UIWidgets.ResourcePickerThumbnail, "Flag icon of this particular faction.", params: "edds")]
18  private ResourceName m_sFactionFlag;
19 
20  [Attribute("", UIWidgets.ResourcePickerThumbnail, "Faction flag material, used on flag poles.", params: "emat")]
21  protected ResourceName m_FactionFlagMaterial;
22 
23  [Attribute("0", UIWidgets.ComboBox, "", enums: ParamEnumArray.FromEnum(EEditableEntityLabel))]
24  protected EEditableEntityLabel m_FactionLabel;
25 
26  [Attribute("1", desc: "If this is false it would mean that every AI will be hostile towards their own faction members and essentially allow for Deathmatch. Use with caution, only checked on init, you can still set the faction hostile towards itself in runtime. This essentially makes sure it adds itself to FriendlyFactionsIds.")]
27  protected bool m_bFriendlyToSelf;
28 
29  [Attribute(desc: "List of faction IDs that are considered friendly for this faction. Note: If factionA has factionB as friendly but FactionB does not have FactionA as friendly then they are still both set as friendly so for init it is only required for one faction.")]
30  protected ref array<string> m_aFriendlyFactionsIds;
31 
33  protected ref SCR_FactionCallsignInfo m_CallsignInfo;
34 
35  [Attribute(desc: "Group preset for predefined groups")]
36  protected ref array<ref SCR_GroupPreset> m_aPredefinedGroups;
37 
38  [Attribute(desc: "Create only predefined groups")]
39  protected bool m_bCreateOnlyPredefinedGroups;
40 
42  protected string m_sFactionRadioEncryptionKey;
43 
44  [Attribute("0")]
45  protected int m_iFactionRadioFrequency;
46 
47  protected ref array<string>> m_aAncestors;
48  protected ref ScriptInvoker_FactionPlayableChanged m_OnFactionPlayableChanged; //Gives Faction and Bool enabled
49 
50  [Attribute("", UIWidgets.Object, "List of ranks")]
51  protected ref array<ref SCR_CharacterRank> m_aRanks;
52 
53  [Attribute(desc: "List of Entity catalogs. Each holds a list of entity Prefab and data of a given type. Catalogs of the same type are merged into one. Note this array is moved to a map on init and set to null")]
54  protected ref array<ref SCR_EntityCatalog> m_aEntityCatalogs;
55 
56  [Attribute("", UIWidgets.ResourcePickerThumbnail, "Flag icons for group.", params: "edds")]
57  protected ref array<ResourceName> m_aGroupFlags;
58 
59  [Attribute("", UIWidgets.ResourcePickerThumbnail, "Flag imageset for groups of this faction.", params: "imageset")]
60  protected ResourceName m_sGroupFlagsImageSet;
61 
62  [Attribute("List of flags from imageset")]
63  protected ref array<string> m_aFlagNames;
64 
66  protected ref array<ref SCR_MilitaryBaseCallsign> m_aBaseCallsigns;
67 
68  //~ Catalog map for quicker obtaining the catalog using EEntityCatalogType
69  protected ref map<EEntityCatalogType, ref SCR_EntityCatalog> m_mEntityCatalogs = new map<EEntityCatalogType, ref SCR_EntityCatalog>();
70 
71  protected bool m_bCatalogInitDone;
72 
73  protected ref set<Faction> m_FriendlyFactions = new set<Faction>;
74 
75  //------------------------------------------------------------------------------------------------
80  //------------------------------------------------------------------------------------------------
82  int GetOrder()
83  {
84  return m_iOrder;
85  }
86 
87  //------------------------------------------------------------------------------------------------
89  bool GetCanCreateOnlyPredefinedGroups()
90  {
92  }
93 
94  //------------------------------------------------------------------------------------------------
96  void GetPredefinedGroups(notnull array<ref SCR_GroupPreset> groupArray)
97  {
98  for (int i = 0, count = m_aPredefinedGroups.Count(); i < count; i++)
99  {
100  groupArray.Insert(m_aPredefinedGroups[i]);
101  }
102  }
103 
104  //------------------------------------------------------------------------------------------------
107  ResourceName GetFlagName(int index)
108  {
109  return m_aFlagNames[index];
110  }
111 
112  //------------------------------------------------------------------------------------------------
115  int GetFlagNames(out array<string> flagNames)
116  {
117  return flagNames.Copy(m_aFlagNames);
118  }
119 
120  //------------------------------------------------------------------------------------------------
122  ResourceName GetGroupFlagImageSet()
123  {
124  return m_sGroupFlagsImageSet;
125  }
126 
127  //------------------------------------------------------------------------------------------------
130  int GetGroupFlagTextures(out array<ResourceName> textures)
131  {
132  return textures.Copy(m_aGroupFlags);
133  }
134 
135  //------------------------------------------------------------------------------------------------
137  ResourceName GetFactionFlag()
138  {
139  return m_sFactionFlag;
140  }
141 
142  //------------------------------------------------------------------------------------------------
144  ResourceName GetFactionFlagMaterial()
145  {
146  return m_FactionFlagMaterial;
147  }
148 
149  //------------------------------------------------------------------------------------------------
151  void SetFactionFlagMaterial(ResourceName materialResource)
152  {
153  m_FactionFlagMaterial = materialResource;
154  }
155 
156  //------------------------------------------------------------------------------------------------
158  EEditableEntityLabel GetFactionLabel()
159  {
160  return m_FactionLabel;
161  }
162 
163  //------------------------------------------------------------------------------------------------
165  SCR_FactionCallsignInfo GetCallsignInfo()
166  {
167  return m_CallsignInfo;
168  }
169 
170  //------------------------------------------------------------------------------------------------
172  Color GetOutlineFactionColor()
173  {
174  return Color.FromInt(m_OutlineFactionColor.PackToInt());
175  }
176 
177  //------------------------------------------------------------------------------------------------
179  // Called everywhere, used to generate initial data for this faction
180  void InitializeFaction()
181  {
182  }
183 
184  //------------------------------------------------------------------------------------------------
186  void SetAncestors(notnull array<string> ancestors)
187  {
188  m_aAncestors = {};
189  m_aAncestors.Copy(ancestors);
190  }
191 
192  //------------------------------------------------------------------------------------------------
199  //------------------------------------------------------------------------------------------------
201  bool IsPlayable()
202  {
203  return m_bIsPlayable;
204  }
205 
206  //------------------------------------------------------------------------------------------------
213  //------------------------------------------------------------------------------------------------
216  void InitFactionIsPlayable(bool isPlayable)
217  {
218  m_bIsPlayable = isPlayable;
219  }
220 
221  //------------------------------------------------------------------------------------------------
228  //------------------------------------------------------------------------------------------------
231  bool IsInherited(string factionKey)
232  {
233  return m_aAncestors && m_aAncestors.Contains(factionKey);
234  }
235 
236  //------------------------------------------------------------------------------------------------
245  //------------------------------------------------------------------------------------------------
248  void SetIsPlayable(bool isPlayable, bool killPlayersIfNotPlayable = false)
249  {
250  if (m_bIsPlayable == isPlayable)
251  return;
252 
253  SCR_FactionManager factionManager = SCR_FactionManager.Cast(GetGame().GetFactionManager());
254  if (!factionManager || !factionManager.CanChangeFactionsPlayable())
255  return;
256 
257  m_bIsPlayable = isPlayable;
258  if (m_OnFactionPlayableChanged)
259  m_OnFactionPlayableChanged.Invoke(this, m_bIsPlayable);
260 
261  //Kill players if m_bIsPlayable is false, killPlayersIfNotPlayable is true, of the same faction and is server
262  if (!m_bIsPlayable && killPlayersIfNotPlayable && Replication.IsServer())
263  {
264  array<int> playerList = {};
265  GetGame().GetPlayerManager().GetPlayers(playerList);
266 
268  IEntity playerEntity;
269 
270  foreach (int playerId : playerList)
271  {
272  Faction playerFaction = factionManager.GetPlayerFaction(playerId);
273  if (!playerFaction)
274  continue;
275 
276  //Check if has the same faction as the one disabled
277  if (playerFaction.GetFactionKey() != GetFactionKey())
278  continue;
279 
280  //Do not kill GMs
281  if (core)
282  {
283  SCR_EditorManagerEntity editorManager = core.GetEditorManager(playerId);
284  if (editorManager)
285  {
286  if (!editorManager.IsLimited())
287  continue;
288  }
289  }
290 
291  playerEntity = SCR_PossessingManagerComponent.GetPlayerMainEntity(playerId);
292  if (!playerEntity)
293  continue;
294 
295  DamageManagerComponent damageManager = DamageManagerComponent.Cast(playerEntity.FindComponent(DamageManagerComponent));
296  if (damageManager)
297  damageManager.SetHealthScaled(0);
298  }
299  }
300  }
301 
302  //------------------------------------------------------------------------------------------------
308  //------------------------------------------------------------------------------------------------
310  ScriptInvoker_FactionPlayableChanged GetOnFactionPlayableChanged()
311  {
312  if (!m_OnFactionPlayableChanged)
314 
316  }
317 
318  //======================================== FACTION RELATIONS ========================================\\
319 
320  //------------------------------------------------------------------------------------------------
324  override bool DoCheckIfFactionFriendly(Faction faction)
325  {
326  return m_FriendlyFactions.Contains(faction);
327  }
328 
329  //------------------------------------------------------------------------------------------------
337  //------------------------------------------------------------------------------------------------
339  void SetFactionFriendly(notnull Faction faction)
340  {
341  m_FriendlyFactions.Insert(faction);
342  }
343 
344  //------------------------------------------------------------------------------------------------
352  //------------------------------------------------------------------------------------------------
354  void SetFactionHostile(notnull Faction faction)
355  {
356  int index = m_FriendlyFactions.Find(faction);
357 
358  if (index >= 0)
359  m_FriendlyFactions.Remove(index);
360  }
361 
362  //------------------------------------------------------------------------------------------------
367  //------------------------------------------------------------------------------------------------
369  int GetPlayerCount()
370  {
371  SCR_FactionManager factionManager = SCR_FactionManager.Cast(GetGame().GetFactionManager());
372  if (!factionManager)
373  return -1;
374 
375  return factionManager.GetFactionPlayerCount(this);
376  /*SCR_RespawnSystemComponent respawnSystem = SCR_RespawnSystemComponent.GetInstance();
377  if (!respawnSystem)
378  return -1;
379 
380  array<int> players = {};
381  int playerCount = 0;
382 
383  PlayerManager pm = GetGame().GetPlayerManager();
384  pm.GetPlayers(players);
385 
386  foreach (int playerId : players)
387  {
388  Faction playerFaction = respawnSystem.GetPlayerFaction(playerId);
389  if (playerFaction == this)
390  playerCount++;
391  }
392 
393  return playerCount;*/
394  }
395 
396  //------------------------------------------------------------------------------------------------
397  /*
398  Get a list of all players beloning to the faction
399  \param[out] player ids List of players belonging to the faction
400  \return Number of players in faction
401  */
402 
403  //------------------------------------------------------------------------------------------------
406  int GetPlayersInFaction(notnull out array<int> players)
407  {
408  players.Clear();
409 
410  SCR_FactionManager factionManager = SCR_FactionManager.Cast(GetGame().GetFactionManager());
411  if (!factionManager)
412  return -1;
413 
414  array<int> allPlayers = {};
415  GetGame().GetPlayerManager().GetPlayers(allPlayers);
416 
417  foreach (int playerId : allPlayers)
418  {
419  Faction playerFaction = factionManager.GetPlayerFaction(playerId);
420  if (playerFaction == this)
421  players.Insert(playerId);
422  }
423 
424  return players.Count();
425  }
426 
427  //------------------------------------------------------------------------------------------------
429  string GetFactionRadioEncryptionKey()
430  {
432  }
433 
434  //------------------------------------------------------------------------------------------------
436  int GetFactionRadioFrequency()
437  {
439  }
440 
441  //------------------------------------------------------------------------------------------------
442  protected SCR_CharacterRank GetRankByID(SCR_ECharacterRank rankID)
443  {
444  if (!m_aRanks)
445  return null;
446 
447  foreach (SCR_CharacterRank rank : m_aRanks)
448  {
449  if (rank.GetRankID() == rankID)
450  return rank;
451  }
452 
453  return null;
454  }
455 
456  //------------------------------------------------------------------------------------------------
459  string GetRankName(SCR_ECharacterRank rankID)
460  {
461  SCR_CharacterRank rank = GetRankByID(rankID);
462 
463  if (rank)
464  return rank.GetRankName();
465  else
466  return string.Empty;
467  }
468 
469  //------------------------------------------------------------------------------------------------
472  string GetRankNameUpperCase(SCR_ECharacterRank rankID)
473  {
474  SCR_CharacterRank rank = GetRankByID(rankID);
475 
476  if (rank)
477  return rank.GetRankNameUpperCase();
478  else
479  return string.Empty;
480  }
481 
482  //------------------------------------------------------------------------------------------------
485  string GetRankNameShort(SCR_ECharacterRank rankID)
486  {
487  SCR_CharacterRank rank = GetRankByID(rankID);
488 
489  if (rank)
490  return rank.GetRankNameShort();
491  else
492  return string.Empty;
493  }
494 
495  //------------------------------------------------------------------------------------------------
498  string GetRankInsignia(SCR_ECharacterRank rankID)
499  {
500  SCR_CharacterRank rank = GetRankByID(rankID);
501 
502  if (rank)
503  return rank.GetRankInsignia();
504  else
505  return string.Empty;
506  }
507 
508  //======================================== FACTION ENTITY CATALOG ========================================\\
509 
510  //------------------------------------------------------------------------------------------------
518  //------------------------------------------------------------------------------------------------
521  SCR_EntityCatalog GetFactionEntityCatalogOfType(EEntityCatalogType catalogType)
522  {
523  if (!m_bCatalogInitDone)
524  {
525  Debug.Error2("SCR_EntityCatalogManagerComponent", "Trying to obtain catalog of type: '" + typename.EnumToString(EEntityCatalogType, catalogType) + "' (faction: " + GetFactionKey() + ") but catalog is not yet initialized! Call your function one frame later!");
526  return null;
527  }
528 
529  //~ Get catalog
530  SCR_EntityCatalog entityCatalog = m_mEntityCatalogs.Get(catalogType);
531 
532  if (entityCatalog)
533  return entityCatalog;
534 
535  //~ No data found
536  Print(string.Format("'SCR_Faction' trying to get entity list of type '%1' but there is no catalog with that type for faction '%2'", typename.EnumToString(EEntityCatalogType, catalogType), GetFactionKey()), LogLevel.WARNING);
537  return null;
538  }
539 
540  //------------------------------------------------------------------------------------------------
548  //------------------------------------------------------------------------------------------------
551  int GetAllFactionEntityCatalogs(notnull out array<SCR_EntityCatalog> outEntityCatalogs)
552  {
553  outEntityCatalogs.Clear();
554  foreach (SCR_EntityCatalog entityCatalog: m_mEntityCatalogs)
555  {
556  outEntityCatalogs.Insert(entityCatalog);
557  }
558 
559  return outEntityCatalogs.Count();
560  }
561 
562  //------------------------------------------------------------------------------------------------
563  override void Init(IEntity owner)
564  {
565  super.Init(owner);
566 
567  if (SCR_Global.IsEditMode())
568  return;
569 
570  //~ Set faction friendly
571  SCR_FactionManager factionManager = SCR_FactionManager.Cast(GetGame().GetFactionManager());
572  if (!factionManager)
573  {
574  //~ Still make sure faction is friendly towards itself
575  if (m_bFriendlyToSelf)
576  SetFactionFriendly(this);
577 
578  Print("'SCR_Faction' is trying to set friendly factions but no SCR_FactionManager could be found!", LogLevel.ERROR);
579  }
580  else
581  {
582  //~ Make sure faction is friendly towards itself
583  if (m_bFriendlyToSelf)
584  factionManager.SetFactionsFriendly(this, this);
585 
586  //~ On init friendly factions assigning
587  if (!m_aFriendlyFactionsIds.IsEmpty())
588  {
589  SCR_Faction faction;
590 
591  //~ Set each given faction ID as friendly
592  foreach (string factionId : m_aFriendlyFactionsIds)
593  {
594  faction = SCR_Faction.Cast(factionManager.GetFactionByKey(factionId));
595 
596  if (!faction)
597  {
598  Print(string.Format("'SCR_Faction' is trying to set friendly factions on init but '%1' is not a valid SCR_Faction!", factionId), LogLevel.ERROR);
599  continue;
600  }
601 
602  //~ Don't set self as friendly
603  if (faction == this)
604  continue;
605 
606  //~ Assign as friendly
607  factionManager.SetFactionsFriendly(this, faction);
608  }
609  }
610  }
611 
612  //~ Init the catalog for faster processing
613  SCR_EntityCatalogManagerComponent.InitCatalogs(m_aEntityCatalogs, m_mEntityCatalogs);
614  m_bCatalogInitDone = true;
615 
616  //~ Clear array as no longer needed
617  m_aEntityCatalogs = null;
618  }
619 
620  //------------------------------------------------------------------------------------------------
624  static Faction GetEntityFaction(notnull IEntity entity)
625  {
626  FactionAffiliationComponent factionComp = FactionAffiliationComponent.Cast(entity.FindComponent(FactionAffiliationComponent));
627  if (!factionComp)
628  return null;
629 
630  Faction faction = factionComp.GetAffiliatedFaction();
631  if (!faction)
632  faction = factionComp.GetDefaultAffiliatedFaction();
633 
634  return faction;
635  }
636 
637  //------------------------------------------------------------------------------------------------
639  array<int> GetBaseCallsignIndexes()
640  {
641  array<int> indexes = {};
642 
643  foreach (SCR_MilitaryBaseCallsign callsign : m_aBaseCallsigns)
644  {
645  indexes.Insert(callsign.GetSignalIndex());
646  }
647 
648  return indexes;
649  }
650 
651  //------------------------------------------------------------------------------------------------
655  SCR_MilitaryBaseCallsign GetBaseCallsignByIndex(int index, int offset = 0)
656  {
657  index += offset;
658 
659  if (m_aBaseCallsigns.IsIndexValid(index))
660  return m_aBaseCallsigns[index];
661 
662  index -= m_aBaseCallsigns.Count();
663 
664  if (m_aBaseCallsigns.IsIndexValid(index))
665  return m_aBaseCallsigns[index];
666 
667  return null;
668  }
669 }
670 
671 //------------------------------------------------------------------------------------------------
673 class SCR_MilitaryBaseCallsign
674 {
675  [Attribute("", UIWidgets.EditBox)]
676  protected string m_sCallsign;
677 
678  [Attribute("", UIWidgets.EditBox)]
679  protected string m_sCallsignShort;
680 
681  [Attribute("", UIWidgets.EditBox)]
682  protected string m_sCallsignUpperCase;
683 
684  [Attribute("0", UIWidgets.EditBox)]
685  protected int m_iSignalIndex;
686 
687  //------------------------------------------------------------------------------------------------
689  string GetCallsign()
690  {
691  return m_sCallsign;
692  }
693 
694  //------------------------------------------------------------------------------------------------
696  string GetCallsignShort()
697  {
698  return m_sCallsignShort;
699  }
700 
701  //------------------------------------------------------------------------------------------------
703  string GetCallsignUpperCase()
704  {
705  return m_sCallsignUpperCase;
706  }
707 
708  //------------------------------------------------------------------------------------------------
710  int GetSignalIndex()
711  {
712  return m_iSignalIndex;
713  }
714 }
EEditableEntityLabel
EEditableEntityLabel
Definition: EEditableEntityLabel.c:1
m_bFriendlyToSelf
protected bool m_bFriendlyToSelf
Definition: SCR_Faction.c:23
BaseContainerProps
SCR_Faction ScriptedFaction BaseContainerProps()
ScriptInvoker_FactionPlayableChangedMethod
func ScriptInvoker_FactionPlayableChangedMethod
Definition: SCR_Faction.c:2
m_aRanks
protected ref array< ref SCR_CharacterRank > m_aRanks
Definition: SCR_Faction.c:47
m_sFactionFlag
private ResourceName m_sFactionFlag
Definition: SCR_Faction.c:14
GetGame
ArmaReforgerScripted GetGame()
Definition: game.c:1424
SCR_FactionCallsignInfo
Definition: SCR_FactionCallsignInfo.c:5
m_sGroupFlagsImageSet
protected ResourceName m_sGroupFlagsImageSet
Definition: SCR_Faction.c:56
EEntityCatalogType
EEntityCatalogType
Definition: EEntityCatalogType.c:4
SCR_ECharacterRank
SCR_ECharacterRank
Definition: SCR_CharacterRankComponent.c:305
ScriptedFaction
Definition: ScriptedFaction.c:12
ScriptInvoker_FactionPlayableChanged
ScriptInvokerBase< ScriptInvoker_FactionPlayableChangedMethod > ScriptInvoker_FactionPlayableChanged
Definition: SCR_Faction.c:3
m_aEntityCatalogs
protected ref array< ref SCR_EntityCatalog > m_aEntityCatalogs
Definition: SCR_Faction.c:50
m_aFriendlyFactionsIds
protected ref array< string > m_aFriendlyFactionsIds
Definition: SCR_Faction.c:26
desc
UI Textures DeployMenu Briefing conflict_HintBanner_1_UI desc
Definition: SCR_RespawnBriefingComponent.c:17
m_OutlineFactionColor
private ref Color m_OutlineFactionColor
Definition: SCR_Faction.c:8
GetCallsign
int GetCallsign()
Definition: SCR_MilitaryBaseComponent.c:140
func
func
Definition: SCR_AIThreatSystem.c:5
m_aPredefinedGroups
protected ref array< ref SCR_GroupPreset > m_aPredefinedGroups
Definition: SCR_Faction.c:32
m_iFactionRadioFrequency
protected int m_iFactionRadioFrequency
Definition: SCR_Faction.c:41
m_aGroupFlags
protected ref array< ResourceName > m_aGroupFlags
Definition: SCR_Faction.c:53
m_iOrder
int m_iOrder
Definition: SCR_BaseActionsEditorComponent.c:6
m_bCreateOnlyPredefinedGroups
protected bool m_bCreateOnlyPredefinedGroups
Definition: SCR_Faction.c:35
m_CallsignInfo
protected ref SCR_FactionCallsignInfo m_CallsignInfo
Definition: SCR_Faction.c:29
m_bIsPlayable
private bool m_bIsPlayable
Definition: SCR_Faction.c:11
Attribute
typedef Attribute
Post-process effect of scripted camera.
SCR_EditorManagerCore
Core component to manage SCR_EditorManagerEntity.
Definition: SCR_EditorManagerCore.c:5
m_FactionFlagMaterial
protected ResourceName m_FactionFlagMaterial
Definition: SCR_Faction.c:17
m_OnFactionPlayableChanged
protected ref ScriptInvoker_FactionPlayableChanged m_OnFactionPlayableChanged
Definition: SCR_Faction.c:44
m_aFlagNames
protected ref array< string > m_aFlagNames
Definition: SCR_Faction.c:59
m_bCatalogInitDone
protected bool m_bCatalogInitDone
Definition: SCR_Faction.c:67
m_FriendlyFactions
protected ref set< Faction > m_FriendlyFactions
Definition: SCR_Faction.c:69
SCR_CharacterRank
Definition: SCR_CharacterRankComponent.c:216
GetFactionKey
protected FactionKey GetFactionKey()
Definition: SCR_ScenarioFrameworkLayerBase.c:248
GetSignalIndex
proto external int GetSignalIndex(string name)
Get index for signal name. Return -1 if signal not found.
Faction
Definition: Faction.c:12
index
SCR_DestructionSynchronizationComponentClass ScriptComponentClass int index
Definition: SCR_DestructionSynchronizationComponent.c:17
SCR_Global
Definition: Functions.c:6
SCR_EntityCatalog
Definition: SCR_EntityCatalog.c:181
m_aAncestors
protected ref array< string > m_aAncestors
Definition: SCR_Faction.c:43
SCR_BaseContainerCustomTitleField
SCR_Faction ScriptedFaction SCR_BaseContainerCustomTitleField("m_sCallsign")
Definition: SCR_Faction.c:672
params
Configs ServerBrowser KickDialogs params
Definition: SCR_NotificationSenderComponent.c:24
m_aBaseCallsigns
protected ref array< ref SCR_MilitaryBaseCallsign > m_aBaseCallsigns
Definition: SCR_Faction.c:62
SCR_FactionManager
void SCR_FactionManager(IEntitySource src, IEntity parent)
Definition: SCR_FactionManager.c:461
m_sFactionRadioEncryptionKey
protected string m_sFactionRadioEncryptionKey
Definition: SCR_Faction.c:38
m_mEntityCatalogs
protected ref map< EEntityCatalogType, ref SCR_EntityCatalog > m_mEntityCatalogs
Definition: SCR_Faction.c:65
DamageManagerComponent
Definition: DamageManagerComponent.c:12
SCR_Faction
Definition: SCR_Faction.c:6
m_FactionLabel
protected EEditableEntityLabel m_FactionLabel
Definition: SCR_Faction.c:20
SCR_EditorManagerEntity
Definition: SCR_EditorManagerEntity.c:26