one for the whole faction and one message for each search for which this squad is a positive result.</p></div><dlclass="paramcmts block"><dtclass="param">faction</dt><ddclass="cmt"><p>empire whose squad is being decorated</p></dd><dtclass="param">guid</dt><ddclass="cmt"><p>the squad's identifier</p></dd><dtclass="param">squad</dt><ddclass="cmt"><p>the squad</p></dd></dl></div></li><liclass="indented0 "name="net.psforever.services.teamwork.SquadService#CleanUpSquadFeatures"group="Ungrouped"fullComment="no"data-isabs="false"visbl="pub"><aid="CleanUpSquadFeatures(removed:List[Long],guid:net.psforever.types.PlanetSideGUID,position:Int):Unit"></a><aid="CleanUpSquadFeatures(List[Long],PlanetSideGUID,Int):Unit"></a><spanclass="permalink"><ahref="../../../../net/psforever/services/teamwork/SquadService.html#CleanUpSquadFeatures(removed:List[Long],guid:net.psforever.types.PlanetSideGUID,position:Int):Unit"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">CleanUpSquadFeatures</span><spanclass="params">(<spanname="removed">removed: <spanname="scala.List"class="extype">List</span>[<spanname="scala.Long"class="extype">Long</span>]</span>, <spanname="guid">guid: <ahref="../../types/PlanetSideGUID.html"name="net.psforever.types.PlanetSideGUID"id="net.psforever.types.PlanetSideGUID"class="extype">PlanetSideGUID</a></span>, <spanname="position">position: <spanname="scala.Int"class="extype">Int</span></span>)</span><spanclass="result">: <spanname="scala.Unit"class="extype">Unit</span></span></span></li><liclass="indented0 "name="net.psforever.services.teamwork.SquadService#CloseSquad"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="CloseSquad(squad:net.psforever.objects.teamwork.Squad):Unit"></a><aid="CloseSquad(Squad):Unit"></a><spanclass="permalink"><ahref="../../../../net/psforever/services/teamwork/SquadService.html#CloseSquad(squad:net.psforever.objects.teamwork.Squad):Unit"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">CloseSquad</span><spanclass="params">(<spanname="squad">squad: <ahref="../../objects/teamwork/Squad.html"name="net.psforever.objects.teamwork.Squad"id="net.psforever.objects.teamwork.Squad"class="extype">Squad</a></span>)</span><spanclass="result">: <spanname="scala.Unit"class="extype">Unit</span></span></span><pclass="shortcomment cmt">All players are made to leave the squad and the squad will stop existing.</p><divclass="fullcomment"><divclass="comment cmt"><p>All players are made to leave the squad and the squad will stop existing.
the no-messaging pathway is useful to avoid accumulating dead letters.</p></div><dlclass="paramcmts block"><dtclass="param">squad</dt><ddclass="cmt"><p>the squad</p></dd></dl><dlclass="attributes block"><dt>See also</dt><dd><spanclass="cmt"><p><code>CleanUpAllInvitesToSquad</code></p></span><spanclass="cmt"><p><code>SquadDetail</code></p></span><spanclass="cmt"><p><code>SquadSubscriptionEntity.Publish</code></p></span><spanclass="cmt"><p><code>TryResetSquadId</code></p></span><spanclass="cmt"><p><code>UpdateSquadList</code></p></span></dd></dl></div></li><liclass="indented0 "name="net.psforever.services.teamwork.SquadService#DisbandSquad"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="DisbandSquad(features:net.psforever.objects.teamwork.SquadFeatures):Unit"></a><aid="DisbandSquad(SquadFeatures):Unit"></a><spanclass="permalink"><ahref="../../../../net/psforever/services/teamwork/SquadService.html#DisbandSquad(features:net.psforever.objects.teamwork.SquadFeatures):Unit"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">DisbandSquad</span><spanclass="params">(<spanname="features">features: <ahref="../../objects/teamwork/SquadFeatures.html"name="net.psforever.objects.teamwork.SquadFeatures"id="net.psforever.objects.teamwork.SquadFeatures"class="extype">SquadFeatures</a></span>)</span><spanclass="result">: <spanname="scala.Unit"class="extype">Unit</span></span></span><pclass="shortcomment cmt">All players are made to leave the squad and the squad will stop existing.</p><divclass="fullcomment"><divclass="comment cmt"><p>All players are made to leave the squad and the squad will stop existing.
but treat the process as if the squad is being disbanded in terms of messaging.</p></div><dlclass="paramcmts block"><dtclass="param">features</dt><ddclass="cmt"><p>the squad</p></dd></dl><dlclass="attributes block"><dt>See also</dt><dd><spanclass="cmt"><p><code>PanicDisbandSquad</code></p></span><spanclass="cmt"><p><code>SquadResponse.Membership</code></p></span><spanclass="cmt"><p><code>SquadSubscriptionEntity.Publish</code></p></span></dd></dl></div></li><liclass="indented0 "name="net.psforever.services.teamwork.SquadService#EnsureEmptySquad"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="EnsureEmptySquad(charId:Long):Boolean"></a><aid="EnsureEmptySquad(Long):Boolean"></a><spanclass="permalink"><ahref="../../../../net/psforever/services/teamwork/SquadService.html#EnsureEmptySquad(charId:Long):Boolean"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">EnsureEmptySquad</span><spanclass="params">(<spanname="charId">charId: <spanname="scala.Long"class="extype">Long</span></span>)</span><spanclass="result">: <spanname="scala.Boolean"class="extype">Boolean</span></span></span><pclass="shortcomment cmt">Determine whether a player is sufficiently unemployed
and has no grand delusions of being a squad leader.</p><divclass="fullcomment"><divclass="comment cmt"><p>Determine whether a player is sufficiently unemployed
and has no grand delusions of being a squad leader.</p></div><dlclass="paramcmts block"><dtclass="param">charId</dt><ddclass="cmt"><p>the player</p></dd><dt>returns</dt><ddclass="cmt"><p><code>true</code>, if the target player possesses no squad or a squad that is suitably nonexistent;
<code>false</code>, otherwise</p></dd></dl><dlclass="attributes block"><dt>See also</dt><dd><spanclass="cmt"><p><code>CloseSquad</code></p></span></dd></dl></div></li><liclass="indented0 "name="net.psforever.services.teamwork.SquadService#GetLeadingSquad"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="GetLeadingSquad(charId:Long,opt:Option[net.psforever.objects.teamwork.SquadFeatures]):Option[net.psforever.objects.teamwork.SquadFeatures]"></a><aid="GetLeadingSquad(Long,Option[SquadFeatures]):Option[SquadFeatures]"></a><spanclass="permalink"><ahref="../../../../net/psforever/services/teamwork/SquadService.html#GetLeadingSquad(charId:Long,opt:Option[net.psforever.objects.teamwork.SquadFeatures]):Option[net.psforever.objects.teamwork.SquadFeatures]"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">GetLeadingSquad</span><spanclass="params">(<spanname="charId">charId: <spanname="scala.Long"class="extype">Long</span></span>, <spanname="opt">opt: <spanname="scala.Option"class="extype">Option</span>[<ahref="../../objects/teamwork/SquadFeatures.html"name="net.psforever.objects.teamwork.SquadFeatures"id="net.psforever.objects.teamwork.SquadFeatures"class="extype">SquadFeatures</a>]</span>)</span><spanclass="result">: <spanname="scala.Option"class="extype">Option</span>[<ahref="../../objects/teamwork/SquadFeatures.html"name="net.psforever.objects.teamwork.SquadFeatures"id="net.psforever.objects.teamwork.SquadFeatures"class="extype">SquadFeatures</a>]</span></span><pclass="shortcomment cmt">If the player associated with this unique character identifier number is the leader of any squad, discover that squad.</p><divclass="fullcomment"><divclass="comment cmt"><p>If the player associated with this unique character identifier number is the leader of any squad, discover that squad.</p></div><dlclass="paramcmts block"><dtclass="param">charId</dt><ddclass="cmt"><p>the potential member identifier</p></dd><dtclass="param">opt</dt><ddclass="cmt"><p>an optional squad to check;
the expectation is that the provided squad is a known participating squad</p></dd><dt>returns</dt><ddclass="cmt"><p>the discovered squad, or <code>None</code></p></dd></dl><dlclass="attributes block"><dt>See also</dt><dd><spanclass="cmt"><p><code>GetParticipatingSquad</code></p></span><spanclass="cmt"><p><code>Squad->Leader</code></p></span></dd></dl></div></li><liclass="indented0 "name="net.psforever.services.teamwork.SquadService#GetLeadingSquad"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="GetLeadingSquad(player:net.psforever.objects.Player,opt:Option[net.psforever.objects.teamwork.SquadFeatures]):Option[net.psforever.objects.teamwork.SquadFeatures]"></a><aid="GetLeadingSquad(Player,Option[SquadFeatures]):Option[SquadFeatures]"></a><spanclass="permalink"><ahref="../../../../net/psforever/services/teamwork/SquadService.html#GetLeadingSquad(player:net.psforever.objects.Player,opt:Option[net.psforever.objects.teamwork.SquadFeatures]):Option[net.psforever.objects.teamwork.SquadFeatures]"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">GetLeadingSquad</span><spanclass="params">(<spanname="player">player: <ahref="../../objects/Player.html"name="net.psforever.objects.Player"id="net.psforever.objects.Player"class="extype">Player</a></span>, <spanname="opt">opt: <spanname="scala.Option"class="extype">Option</span>[<ahref="../../objects/teamwork/SquadFeatures.html"name="net.psforever.objects.teamwork.SquadFeatures"id="net.psforever.objects.teamwork.SquadFeatures"class="extype">SquadFeatures</a>]</span>)</span><spanclass="result">: <spanname="scala.Option"class="extype">Option</span>[<ahref="../../objects/teamwork/SquadFeatures.html"name="net.psforever.objects.teamwork.SquadFeatures"id="net.psforever.objects.teamwork.SquadFeatures"class="extype">SquadFeatures</a>]</span></span><pclass="shortcomment cmt">If this player is a member of any squad, discover that squad.</p><divclass="fullcomment"><divclass="comment cmt"><p>If this player is a member of any squad, discover that squad.</p></div><dlclass="paramcmts block"><dtclass="param">player</dt><ddclass="cmt"><p>the potential member</p></dd><dtclass="param">opt</dt><ddclass="cmt"><p>an optional squad to check;
the expectation is that the provided squad is a known participating squad</p></dd><dt>returns</dt><ddclass="cmt"><p>the discovered squad, or <code>None</code></p></dd></dl><dlclass="attributes block"><dt>See also</dt><dd><spanclass="cmt"><p><code>GetParticipatingSquad</code></p></span><spanclass="cmt"><p><code>Squad::Leader</code></p></span></dd></dl></div></li><liclass="indented0 "name="net.psforever.services.teamwork.SquadService#GetNextSquadId"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="GetNextSquadId():net.psforever.types.PlanetSideGUID"></a><aid="GetNextSquadId():PlanetSideGUID"></a><spanclass="permalink"><ahref="../../../../net/psforever/services/teamwork/SquadService.html#GetNextSquadId():net.psforever.types.PlanetSideGUID"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">GetNextSquadId</span><spanclass="params">()</span><spanclass="result">: <ahref="../../types/PlanetSideGUID.html"name="net.psforever.types.PlanetSideGUID"id="net.psforever.types.PlanetSideGUID"class="extype">PlanetSideGUID</a></span></span><pclass="shortcomment cmt">Produce the next available unique squad identifier.</p><divclass="fullcomment"><divclass="comment cmt"><p>Produce the next available unique squad identifier.
The first number is always 1.
The greatest possible identifier is 65535 (an unsigned 16-bit integer)
before it wraps back around to 1.</p></div><dlclass="paramcmts block"><dt>returns</dt><ddclass="cmt"><p>the current squad unique identifier number</p></dd></dl></div></li><liclass="indented0 "name="net.psforever.services.teamwork.SquadService#GetOrCreateSquadOnlyIfLeader"group="Ungrouped"fullComment="no"data-isabs="false"visbl="pub"><aid="GetOrCreateSquadOnlyIfLeader(player:net.psforever.objects.Player):Option[net.psforever.objects.teamwork.SquadFeatures]"></a><aid="GetOrCreateSquadOnlyIfLeader(Player):Option[SquadFeatures]"></a><spanclass="permalink"><ahref="../../../../net/psforever/services/teamwork/SquadService.html#GetOrCreateSquadOnlyIfLeader(player:net.psforever.objects.Player):Option[net.psforever.objects.teamwork.SquadFeatures]"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">GetOrCreateSquadOnlyIfLeader</span><spanclass="params">(<spanname="player">player: <ahref="../../objects/Player.html"name="net.psforever.objects.Player"id="net.psforever.objects.Player"class="extype">Player</a></span>)</span><spanclass="result">: <spanname="scala.Option"class="extype">Option</span>[<ahref="../../objects/teamwork/SquadFeatures.html"name="net.psforever.objects.teamwork.SquadFeatures"id="net.psforever.objects.teamwork.SquadFeatures"class="extype">SquadFeatures</a>]</span></span></li><liclass="indented0 "name="net.psforever.services.teamwork.SquadService#GetParticipatingSquad"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="GetParticipatingSquad(charId:Long):Option[net.psforever.objects.teamwork.SquadFeatures]"></a><aid="GetParticipatingSquad(Long):Option[SquadFeatures]"></a><spanclass="permalink"><ahref="../../../../net/psforever/services/teamwork/SquadService.html#GetParticipatingSquad(charId:Long):Option[net.psforever.objects.teamwork.SquadFeatures]"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">GetParticipatingSquad</span><spanclass="params">(<spanname="charId">charId: <spanname="scala.Long"class="extype">Long</span></span>)</span><spanclass="result">: <spanname="scala.Option"class="extype">Option</span>[<ahref="../../objects/teamwork/SquadFeatures.html"name="net.psforever.objects.teamwork.SquadFeatures"id="net.psforever.objects.teamwork.SquadFeatures"class="extype">SquadFeatures</a>]</span></span><pclass="shortcomment cmt">If the player associated with this unique character identifier number is a member of any squad, discover that squad.</p><divclass="fullcomment"><divclass="comment cmt"><p>If the player associated with this unique character identifier number is a member of any squad, discover that squad.</p></div><dlclass="paramcmts block"><dtclass="param">charId</dt><ddclass="cmt"><p>the potential member identifier</p></dd><dt>returns</dt><ddclass="cmt"><p>the discovered squad, or <code>None</code></p></dd></dl></div></li><liclass="indented0 "name="net.psforever.services.teamwork.SquadService#GetParticipatingSquad"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="GetParticipatingSquad(player:net.psforever.objects.Player):Option[net.psforever.objects.teamwork.SquadFeatures]"></a><aid="GetParticipatingSquad(Player):Option[SquadFeatures]"></a><spanclass="permalink"><ahref="../../../../net/psforever/services/teamwork/SquadService.html#GetParticipatingSquad(player:net.psforever.objects.Player):Option[net.psforever.objects.teamwork.SquadFeatures]"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">GetParticipatingSquad</span><spanclass="params">(<spanname="player">player: <ahref="../../objects/Player.html"name="net.psforever.objects.Player"id="net.psforever.objects.Player"
This operation is fairly safe to call whenever a player is to be inducted into a squad.</p><divclass="fullcomment"><divclass="comment cmt"><p>Behaviors and exchanges necessary to complete the fulfilled recruitment process for the squad role.<br>
<br>
This operation is fairly safe to call whenever a player is to be inducted into a squad.
and conditions imposed by both the role and the player must be satisfied.</p></div><dlclass="paramcmts block"><dtclass="param">player</dt><ddclass="cmt"><p>the new squad member;
this player is NOT the squad leader</p></dd><dtclass="param">features</dt><ddclass="cmt"><p>the squad the player is joining</p></dd><dtclass="param">position</dt><ddclass="cmt"><p>the squad member role that the player will be filling</p></dd><dt>returns</dt><ddclass="cmt"><p><code>true</code>, if the player joined the squad in some capacity;
<code>false</code>, if the player did not join the squad or is already a squad member</p></dd></dl><dlclass="attributes block"><dt>See also</dt><dd><spanclass="cmt"><p><code>CleanUpAllInvitesWithPlayer</code></p></span><spanclass="cmt"><p><code>Squad.isAvailable</code></p></span><spanclass="cmt"><p><code>Squad.Switchboard</code></p></span><spanclass="cmt"><p><code>SquadSubscriptionEntity.MonitorSquadDetails</code></p></span><spanclass="cmt"><p><code>SquadSubscriptionEntity.Publish</code></p></span><spanclass="cmt"><p><code>SquadSubscriptionEntity.Join</code></p></span><spanclass="cmt"><p><code>SquadSubscriptionEntity.UserEvents</code></p></span></dd></dl></div></li><liclass="indented0 "name="net.psforever.services.teamwork.SquadService#LeaveByCharacterId"group="Ungrouped"fullComment="no"data-isabs="false"visbl="pub"><aid="LeaveByCharacterId(charId:String,sender:akka.actor.ActorRef):Unit"></a><aid="LeaveByCharacterId(String,ActorRef):Unit"></a><spanclass="permalink"><ahref="../../../../net/psforever/services/teamwork/SquadService.html#LeaveByCharacterId(charId:String,sender:akka.actor.ActorRef):Unit"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">LeaveByCharacterId</span><spanclass="params">(<spanname="charId">charId: <spanname="scala.Predef.String"class="extype">String</span></span>, <spanname="sender">sender: <spanname="akka.actor.ActorRef"class="extype">ActorRef</span></span>)</span><spanclass="result">: <spanname="scala.Unit"class="extype">Unit</span></span></span></li><liclass="indented0 "name="net.psforever.services.teamwork.SquadService#LeaveByFaction"group="Ungrouped"fullComment="no"data-isabs="false"visbl="pub"><aid="LeaveByFaction(faction:String,sender:akka.actor.ActorRef):Unit"></a><aid="LeaveByFaction(String,ActorRef):Unit"></a><spanclass="permalink"><ahref="../../../../net/psforever/services/teamwork/SquadService.html#LeaveByFaction(faction:String,sender:akka.actor.ActorRef):Unit"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">LeaveByFaction</span><spanclass="params">(<spanname="faction">faction: <spanname="scala.Predef.String"class="extype">String</span></span>, <spanname="sender">sender: <spanname="akka.actor.ActorRef"class="extype">ActorRef</span></span>)</span><spanclass="result">: <spanname="scala.Unit"class="extype">Unit</span></span></span></li><liclass="indented0 "name="net.psforever.services.teamwork.SquadService#LeaveInGeneral"group="Ungrouped"fullComment="no"data-isabs="false"visbl="pub"><aid="LeaveInGeneral(sender:akka.actor.ActorRef):Unit"></a><aid="LeaveInGeneral(ActorRef):Unit"></a><spanclass="permalink"><ahref="../../../../net/psforever/services/teamwork/SquadService.html#LeaveInGeneral(sender:akka.actor.ActorRef):Unit"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">LeaveInGeneral</span><spanclass="params">(<spanname="sender">sender: <spanname="akka.actor.ActorRef"class="extype">ActorRef</span></span>)</span><spanclass="result">: <spanname="scala.Unit"class="extype">Unit</span></span></span></li><liclass="indented0 "name="net.psforever.services.teamwork.SquadService#LeaveService"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="LeaveService(charId:Long,sender:akka.actor.ActorRef):Unit"></a><aid="LeaveService(Long,ActorRef):Unit"></a><spanclass="permalink"><ahref="../../../../net/psforever/services/teamwork/SquadService.html#LeaveService(charId:Long,sender:akka.actor.ActorRef):Unit"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><s
<code>false</code>, otherwise</p></dd></dl><dlclass="attributes block"><dt>See also</dt><dd><spanclass="cmt"><p><code>PanicLeaveSquad</code></p></span><spanclass="cmt"><p><code>SquadSubscriptionEntity.Publish</code></p></span></dd></dl></div></li><liclass="indented0 "name="net.psforever.services.teamwork.SquadService#PanicDisbandSquad"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="PanicDisbandSquad(features:net.psforever.objects.teamwork.SquadFeatures,membership:Iterable[Long]):Unit"></a><aid="PanicDisbandSquad(SquadFeatures,Iterable[Long]):Unit"></a><spanclass="permalink"><ahref="../../../../net/psforever/services/teamwork/SquadService.html#PanicDisbandSquad(features:net.psforever.objects.teamwork.SquadFeatures,membership:Iterable[Long]):Unit"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">PanicDisbandSquad</span><spanclass="params">(<spanname="features">features: <ahref="../../objects/teamwork/SquadFeatures.html"name="net.psforever.objects.teamwork.SquadFeatures"id="net.psforever.objects.teamwork.SquadFeatures"class="extype">SquadFeatures</a></span>, <spanname="membership">membership: <spanname="scala.Iterable"class="extype">Iterable</span>[<spanname="scala.Long"class="extype">Long</span>]</span>)</span><spanclass="result">: <spanname="scala.Unit"class="extype">Unit</span></span></span><pclass="shortcomment cmt">All players are made to leave the squad and the squad will stop existing.<br>
The complement of the prior <code>DisbandSquad</code> method.</p><divclass="fullcomment"><divclass="comment cmt"><p>All players are made to leave the squad and the squad will stop existing.<br>
<br>
The complement of the prior <code>DisbandSquad</code> method.
This method deals entirely with other squad members observing the squad become abandoned.
The distinction is useful when unsubscribing from this service,
as the <code>ActorRef</code> object used to message the player's client is no longer reliable
and has probably ceased to exist.</p></div><dlclass="paramcmts block"><dtclass="param">features</dt><ddclass="cmt"><p>the squad</p></dd><dtclass="param">membership</dt><ddclass="cmt"><p>the unique character identifier numbers of the other squad members</p></dd><dt>returns</dt><ddclass="cmt"><p>if a role/index pair is provided</p></dd></dl><dlclass="attributes block"><dt>See also</dt><dd><spanclass="cmt"><p><code>CloseSquad</code></p></span><spanclass="cmt"><p><code>DisbandSquad</code></p></span><spanclass="cmt"><p><code>SquadResponse.Membership</code></p></span><spanclass="cmt"><p><code>SquadResponseType</code></p></span><spanclass="cmt"><p><code>SquadSubscriptionEntity.Publish</code></p></span></dd></dl></div></li><liclass="indented0 "name="net.psforever.services.teamwork.SquadService#PublishedLists"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="PublishedLists(squads:Iterable[net.psforever.objects.teamwork.SquadFeatures]):Vector[net.psforever.packet.game.SquadInfo]"></a><aid="PublishedLists(Iterable[SquadFeatures]):Vector[SquadInfo]"></a><spanclass="permalink"><ahref="../../../../net/psforever/services/teamwork/SquadService.html#PublishedLists(squads:Iterable[net.psforever.objects.teamwork.SquadFeatures]):Vector[net.psforever.packet.game.SquadInfo]"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">PublishedLists</span><spanclass="params">(<spanname="squads">squads: <spanname="scala.Iterable"class="extype">Iterable</span>[<ahref="../../objects/teamwork/SquadFeatures.html"name="net.psforever.objects.teamwork.SquadFeatures"id="net.psforever.objects.teamwork.SquadFeatures"class="extype">SquadFeatures</a>]</span>)</span><spanclass="result">: <spanname="scala.Vector"class="extype">Vector</span>[<ahref="../../packet/game/SquadInfo.html"name="net.psforever.packet.game.SquadInfo"id="net.psforever.packet.game.SquadInfo"class="extype">SquadInfo</a>]</span></span><pclass="shortcomment cmt">Transform a list of squad unique identifiers into a list of <code>SquadInfo</code> objects for updating the squad list window.</p><divclass="fullcomment"><divclass="comment cmt"><p>Transform a list of squad unique identifiers into a list of <code>SquadInfo</code> objects for updating the squad list window.</p></div><dlclass="paramcmts block"><dtclass="param">squads</dt><ddclass="cmt"><p>the list of squads</p></dd><dt>returns</dt><ddclass="cmt"><p>a <code>Vector</code> of transformed squad data</p></dd></dl></div></li><liclass="indented0 "name="net.psforever.services.teamwork.SquadService#PublishedLists"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="PublishedLists(faction:net.psforever.types.PlanetSideEmpire.Type):Vector[net.psforever.packet.game.SquadInfo]"></a><aid="PublishedLists(Type):Vector[SquadInfo]"></a><spanclass="permalink"><ahref="../../../../net/psforever/services/teamwork/SquadService.html#PublishedLists(faction:net.psforever.types.PlanetSideEmpire.Type):Vector[net.psforever.packet.game.SquadInfo]"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">PublishedLists</span><spanclass="params">(<spanname="faction">faction: <ahref="../../types/PlanetSideEmpire$.html#Type=net.psforever.types.PlanetSideEmpire.Value"name="net.psforever.types.PlanetSideEmpire.Type"id="net.psforever.types.PlanetSideEmpire.Type"class="extmbr">Type</a></span>)</span><spanclass="result">: <spanname="scala.Vector"class="extype">Vector</span>[<ahref="../../packet/game/SquadInfo.html"name="net.psforever.packet.game.SquadInfo"id="net.psforever.packet.game.SquadInfo"class="extype">SquadInfo</a>]</span></span><pclass="shortcomment cmt">Transform a list of squad unique identifiers into a list of <code>SquadInfo</code> objects for updating the squad list window.</p>
The primary necessary fields required for a squad include the squad's task and the squad's zone of operation.</p></div><dlclass="paramcmts block"><dtclass="param">player</dt><ddclass="cmt"><p>the player who would become the squad leader</p></dd><dt>returns</dt><ddclass="cmt"><p>the squad that has been created</p></dd></dl><dlclass="attributes block"><dt>See also</dt><dd><spanclass="cmt"><p><code>GetNextSquadId</code></p></span><spanclass="cmt"><p><code>Squad</code></p></span><spanclass="cmt"><p><code>SquadFeatures</code></p></span><spanclass="cmt"><p><code>SquadFeatures::Start</code></p></span></dd></dl></div></li><liclass="indented0 "name="net.psforever.services.teamwork.SquadService#TerminatedBy"group="Ungrouped"fullComment="no"data-isabs="false"visbl="pub"><aid="TerminatedBy(requestee:akka.actor.ActorRef):Unit"></a><aid="TerminatedBy(ActorRef):Unit"></a><spanclass="permalink"><ahref="../../../../net/psforever/services/teamwork/SquadService.html#TerminatedBy(requestee:akka.actor.ActorRef):Unit"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">TerminatedBy</span><spanclass="params">(<spanname="requestee">requestee: <spanname="akka.actor.ActorRef"class="extype">ActorRef</span></span>)</span><spanclass="result">: <spanname="scala.Unit"class="extype">Unit</span></span></span></li><liclass="indented0 "name="net.psforever.services.teamwork.SquadService#TryResetSquadId"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="TryResetSquadId():Boolean"></a><spanclass="permalink"><ahref="../../../../net/psforever/services/teamwork/SquadService.html#TryResetSquadId():Boolean"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">TryResetSquadId</span><spanclass="params">()</span><spanclass="result">: <spanname="scala.Boolean"class="extype">Boolean</span></span></span><pclass="shortcomment cmt">Set the unique squad identifier back to the start if no squads are active.</p><divclass="fullcomment"><divclass="comment cmt"><p>Set the unique squad identifier back to the start if no squads are active.</p></div><dlclass="paramcmts block"><dt>returns</dt><ddclass="cmt"><p><code>true</code>, if the identifier is reset; <code>false</code>, otherwise</p></dd></dl></div></li><liclass="indented0 "name="net.psforever.services.teamwork.SquadService#UpdateSquadList"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="pub"><aid="UpdateSquadList(features:net.psforever.objects.teamwork.SquadFeatures,changes:Option[net.psforever.packet.game.SquadInfo]):Unit"></a><aid="UpdateSquadList(SquadFeatures,Option[SquadInfo]):Unit"></a><spanclass="permalink"><ahref="../../../../net/psforever/services/teamwork/SquadService.html#UpdateSquadList(features:net.psforever.objects.teamwork.SquadFeatures,changes:Option[net.psforever.packet.game.SquadInfo]):Unit"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">UpdateSquadList</span><spanclass="params">(<spanname="features">features: <ahref="../../objects/teamwork/SquadFeatures.html"name="net.psforever.objects.teamwork.SquadFeatures"id="net.psforever.objects.teamwork.SquadFeatures"class="extype">SquadFeatures</a></span>, <spanname="changes">changes: <spanname="scala.Option"class="extype">Option</span>[<ahref="../../packet/game/SquadInfo.html"name="net.psforever.packet.game.SquadInfo"id="net.psforever.packet.game.SquadInfo"class="extype">SquadInfo</a>]</span>)</span><spanclass="result">: <spanname="scala.Unit"class="extype">Unit</span></span></span><pclass="shortcomment cmt">Dispatch a message entailing the composition of this squad
and focus on any specific aspects of it, purported as being changed recently.<br>
<br>
What sort of message is dispatched is not only based on the input parameters
but also on the state of previously listed squad information.</p><divclass="fullcomment"><divclass="comment cmt"><p>Dispatch a message entailing the composition of this squad
and focus on any specific aspects of it, purported as being changed recently.<br>
<br>
What sort of message is dispatched is not only based on the input parameters
but also on the state of previously listed squad information.
Listed squad information is queued when it is first published, organized first by faction affinity, then by chronology.
The output is first determinate on whether the squad had previously been listed as available.
If so, it will either update its data to all valid faction associated entities with the provided changed data;
or, it will be removed from the list of available squads, if there is no provided change data.
If the squad can not be found,
the change data, whatever it is, is unimportant, and the squad will be listed in full for the first time.<br>
<br>
When a squad is first introduced to the aforementioned list,
thus first being published to all faction-associated parties,
the entirety of the squad list for that faction will be updated in one go.
It is not necessary to do this, but doing so saves index and unique squad identifier management
at the cost of the size of the packet to be dispatched.
When a squad is removed to the aforementioned list,
the same process occurs where the full list for that faction affiliation is sent as an update.
The procedure for updating individual squad fields is precise and targeted,
and has been or should be prepared in advance by the caller to this method.
As a consequence, when updating the entry for that squad,
the information used as the update does not necessarily reflect the actual information currently in the squad.</p></div><dlclass="paramcmts block"><dtclass="param">features</dt><ddclass="cmt"><p>the squad</p></dd><dtclass="param">changes</dt><ddclass="cmt"><p>the optional highlighted aspects of the squad;
these "changes" do not have to reflect the actual squad but are related to the contents of the message</p></dd></dl><dlclass="attributes block"><dt>See also</dt><dd><spanclass="cmt"><p><code>SquadResponse.InitList</code></p></span><spanclass="cmt"><p><code>SquadResponse.UpdateList</code></p></span><spanclass="cmt"><p><code>SquadService.SquadList.Publish</code></p></span></dd></dl></div></li><liclass="indented0 "name="akka.actor.Actor#aroundPostRestart"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="prt"><aid="aroundPostRestart(reason:Throwable):Unit"></a><aid="aroundPostRestart(Throwable):Unit"></a><spanclass="permalink"><ahref="../../../../net/psforever/services/teamwork/SquadService.html#aroundPostRestart(reason:Throwable):Unit"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">aroundPostRestart</span><spanclass="params">(<spanname="reason">reason: <spanname="scala.Throwable"class="extype">Throwable</span></span>)</span><spanclass="result">: <spanname="scala.Unit"class="extype">Unit</span></span></span><divclass="fullcomment"><dlclass="attributes block"><dt>Attributes</dt><dd>protected[<ahref="../../../../akka/index.html"name="akka"id="akka"class="extype">akka</a>] </dd><dt>Definition Classes</dt><dd>Actor</dd><dt>Annotations</dt><dd><spanclass="name">@InternalApi</span><spanclass="args">()</span></dd></dl></div></li><liclass="indented0 "name="akka.actor.Actor#aroundPostStop"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="prt"><aid="aroundPostStop():Unit"></a><spanclass="permalink"><ahref="../../../../net/psforever/services/teamwork/SquadService.html#aroundPostStop():Unit"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">aroundPostStop</span><spanclass="params">()</span><spanclass="result">: <spanname="scala.Unit"class="extype">Unit</span></span></span><divclass="fullcomment"><dlclass="attributes block"><dt>Attributes</dt><dd>protected[<ahref="../../../../akka/index.html"name="akka"id="akka"class="extype">akka</a>] </dd><dt>Definition Classes</dt><dd>Actor</dd><dt>Annotations</dt><dd><spanclass="name">@InternalApi</span><spanclass="args">()</span></dd></dl></div></li><liclass="indented0 "name="akka.actor.Actor#aroundPreRestart"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="prt"><aid="aroundPreRestart(reason:Throwable,message:Option[Any]):Unit"></a><aid="aroundPreRestart(Throwable,Option[Any]):Unit"></a><spanclass="permalink"><ahref="../../../../net/psforever/services/teamwork/SquadService.html#aroundPreRestart(reason:Throwable,message:Option[Any]):Unit"title="Permalink"><iclass="material-icons"></i></a></span><spanclass="modifier_kind"><spanclass="modifier"></span><spanclass="kind">def</span></span><spanclass="symbol"><spanclass="name">aroundPreRestart</span><spanclass="params">(<spanname="reason">reason: <spanname="scala.Throwable"class="extype">Throwable</span></span>, <spanname="message">message: <spanname="scala.Option"class="extype">Option</span>[<spanname="scala.Any"class="extype">Any</span>]</span>)</span><spanclass="result">: <spanname="scala.Unit"class="extype">Unit</span></span></span><divclass="fullcomment"><dlclass="attributes block"><dt>Attributes</dt><dd>protected[<ahref="../../../../akka/index.html"name="akka"id="akka"class="extype">akka</a>] </dd><dt>Definition Classes</dt><dd>Actor</dd><dt>Annotations</dt><dd><spanclass="name">@InternalApi</span><spanclass="args">()</span></dd></dl></div></li><liclass="indented0 "name="akka.actor.Actor#aroundPreStart"group="Ungrouped"fullComment="yes"data-isabs="false"visbl="prt"><aid="aroundPreStart():Unit"></a><spanclass="permalink"><ahref="../../../../net/psforever/services/teamwork/SquadService.html#aroundPreStart()