mirror of
https://github.com/psforever/PSF-LoginServer.git
synced 2026-03-28 00:29:18 +00:00
57 lines
147 KiB
HTML
57 lines
147 KiB
HTML
|
|
<!DOCTYPE html ><html><head><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport"/><title>PSF-LoginServer - master - net.psforever.packet.game.BuildingInfoUpdateMessage</title><meta content="PSF - LoginServer - master - net.psforever.packet.game.BuildingInfoUpdateMessage" name="description"/><meta content="PSF LoginServer master net.psforever.packet.game.BuildingInfoUpdateMessage" name="keywords"/><meta http-equiv="content-type" content="text/html; charset=UTF-8"/><link href="../../../../lib/index.css" media="screen" type="text/css" rel="stylesheet"/><link href="../../../../lib/template.css" media="screen" type="text/css" rel="stylesheet"/><link href="../../../../lib/print.css" media="print" type="text/css" rel="stylesheet"/><link href="../../../../lib/diagrams.css" media="screen" type="text/css" rel="stylesheet" id="diagrams-css"/><script type="text/javascript" src="../../../../lib/jquery.min.js"></script><script type="text/javascript" src="../../../../lib/index.js"></script><script type="text/javascript" src="../../../../index.js"></script><script type="text/javascript" src="../../../../lib/scheduler.js"></script><script type="text/javascript" src="../../../../lib/template.js"></script><script type="text/javascript">/* this variable can be used by the JS to determine the path to the root document */
|
||
|
|
var toRoot = '../../../../';</script></head><body><div id="search"><span id="doc-title">PSF-LoginServer - <span id="doc-version">master</span></span> <span class="close-results"><span class="left"><</span> Back</span><div id="textfilter"><span class="input"><input autocapitalize="none" placeholder="Search" id="index-input" type="text" accesskey="/"/><i class="clear material-icons"></i><i id="search-icon" class="material-icons"></i></span></div></div><div id="search-results"><div id="search-progress"><div id="progress-fill"></div></div><div id="results-content"><div id="entity-results"></div><div id="member-results"></div></div></div><div id="content-scroll-container" style="-webkit-overflow-scrolling: touch;"><div id="content-container" style="-webkit-overflow-scrolling: touch;"><div id="subpackage-spacer"><div id="packages"><h1>Packages</h1><ul><li class="indented0 " name="_root_.root" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="_root_"></a><a id="root:_root_"></a> <span class="permalink"><a href="../../../../index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../../../../index.html" title=""><span class="name">root</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../../../index.html" name="_root_" id="_root_" class="extype">root</a></dd></dl></div></li><li class="indented1 " name="_root_.net" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="net"></a><a id="net:net"></a> <span class="permalink"><a href="../../../../net/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../../../index.html" title=""><span class="name">net</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../../../index.html" name="_root_" id="_root_" class="extype">root</a></dd></dl></div></li><li class="indented2 " name="net.psforever" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="psforever"></a><a id="psforever:psforever"></a> <span class="permalink"><a href="../../../../net/psforever/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../../index.html" title=""><span class="name">psforever</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../../index.html" name="net" id="net" class="extype">net</a></dd></dl></div></li><li class="indented3 " name="net.psforever.packet" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="packet"></a><a id="packet:packet"></a> <span class="permalink"><a href="../../../../net/psforever/packet/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../index.html" title=""><span class="name">packet</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../index.html" name="net.psforever" id="net.psforever" class="extype">psforever</a></dd></dl></div></li><li class="indented4 " name="net.psforever.packet.game" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="game"></a><a id="game:game"></a> <span class="permalink"><a href="../../../../net/psforever/packet/game/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="index.html" title=""><span class="name">game</span></a></span><div class="fullcomme
|
||
|
|
The most common application of this packet is to synchronize map state during world login.<br>
|
||
|
|
<br>
|
||
|
|
A "building" mainly constitutes any map-viewable structure that has properties or whose ownership can be asserted.
|
||
|
|
This packet is valid for all major facilities, field towers, warp gates, and some static environment elements.
|
||
|
|
Additional properties, if available, can be viewed by selecting the sphere of influence of a given building.
|
||
|
|
The combination of continent UID and building UID ensures that all buildings are uniquely-defined.
|
||
|
|
This packet can be applied on any continent and will affect the appropriate building on any other continent.
|
||
|
|
As the intercontinental map is always available, all map assets will publish real time updates to all players.
|
||
|
|
Map information configured by this packet is not obscured from any players, regardless of faction.
|
||
|
|
(Network state updates will be delayed for, and the type of compromise will not be specified to, defenders.)<br>
|
||
|
|
<br>
|
||
|
|
Aside from the map-viewable aspects, a few properties set by this packet also have game world effects.
|
||
|
|
Additionally, though most parameters are treated as mandatory, not all buildings will be able to use those parameters.
|
||
|
|
A parameter that is not applicable for a given asset, e.g., NTU for a field tower, will be ignored.
|
||
|
|
A collision between some parameters can occur.
|
||
|
|
For example, if <code>is_hacking</code> is <code>false</code>, the other hacking fields are considered invalid.
|
||
|
|
If <code>is_hacking</code> is <code>true</code> but the hacking empire is also the owning empire, the <code>is_hacking</code> state is invalid.<br>
|
||
|
|
<br>
|
||
|
|
Lattice benefits: (stackable)<br>
|
||
|
|
<code>
|
||
|
|
00 - None<br>
|
||
|
|
01 - Amp Station<br>
|
||
|
|
02 - Dropship Center<br>
|
||
|
|
04 - Bio Laboratory<br>
|
||
|
|
08 - Interlink Facility<br>
|
||
|
|
16 - Technology Plant<br>
|
||
|
|
<code>
|
||
|
|
<br>
|
||
|
|
Cavern benefits: (stackable)<br>
|
||
|
|
<code>
|
||
|
|
000 - None<br>
|
||
|
|
004 - Speed Module<br>
|
||
|
|
008 - Shield Module<br>
|
||
|
|
016 - Vehicle Module<br>
|
||
|
|
032 - Equipment Module<br>
|
||
|
|
064 - Health Module<br>
|
||
|
|
128 - Pain Module<br>
|
||
|
|
<code></code></code></code></code></p></div><dl class="paramcmts block"><dt class="param">continent_id</dt><dd class="cmt"><p>the continent (zone)</p></dd><dt class="param">building_map_id</dt><dd class="cmt"><p>the map id of this building from the MPO files</p></dd><dt class="param">ntu_level</dt><dd class="cmt"><p>if the building has a silo, the amount of NTU in that silo;
|
||
|
|
NTU is reported in multiples of 10%;
|
||
|
|
valid for 0 (0%) to 10 (100%)</p></dd><dt class="param">is_hacked</dt><dd class="cmt"><p>if the building can be hacked and will take time to convert, whether the building is being hacked</p></dd><dt class="param">empire_hack</dt><dd class="cmt"><p>if the building is being hacked, the empire that is performing the hacking</p></dd><dt class="param">hack_time_remaining</dt><dd class="cmt"><p>if the building is being hacked, the amount of time remaining until the hack finishes/clears;
|
||
|
|
recorded in milliseconds (ms)</p></dd><dt class="param">empire_own</dt><dd class="cmt"><p>the empire that owns the building currently</p></dd><dt class="param">unk1</dt><dd class="cmt"><p>na;
|
||
|
|
value != 0 causes the next field to be defined</p></dd><dt class="param">unk1x</dt><dd class="cmt"><p>na</p></dd><dt class="param">generator_state</dt><dd class="cmt"><p>if the building has a generator, the state of the generator</p></dd><dt class="param">spawn_tubes_normal</dt><dd class="cmt"><p>if the building has spawn tubes, whether at least one of the tubes is powered and operational</p></dd><dt class="param">force_dome_active</dt><dd class="cmt"><p>if the building is a capitol facility, whether the force dome is active</p></dd><dt class="param">lattice_benefit</dt><dd class="cmt"><p>the benefits from other Lattice-linked bases does this building possess</p></dd><dt class="param">cavern_benefit</dt><dd class="cmt"><p>cavern benefits;
|
||
|
|
any non-zero value will cause the cavern module icon (yellow) to appear;
|
||
|
|
proper module values cause the cavern module icon to render green;
|
||
|
|
all benefits will report as due to a "Cavern Lock"</p></dd><dt class="param">unk4</dt><dd class="cmt"><p>na</p></dd><dt class="param">unk5</dt><dd class="cmt"><p>na</p></dd><dt class="param">unk6</dt><dd class="cmt"><p>na</p></dd><dt class="param">unk7</dt><dd class="cmt"><p>na;
|
||
|
|
value != 8 causes the next field to be defined</p></dd><dt class="param">unk7x</dt><dd class="cmt"><p>na</p></dd><dt class="param">boost_spawn_pain</dt><dd class="cmt"><p>if the building has spawn tubes, the (boosted) strength of its enemy pain field</p></dd><dt class="param">boost_generator_pain</dt><dd class="cmt"><p>if the building has a generator, the (boosted) strength of its enemy pain field</p></dd></dl><dl class="attributes block"><dt>Source</dt><dd><a href="https://github.com/psforever/PSF-LoginServer/blob/master//home/runner/work/PSF-LoginServer/PSF-LoginServer/src/main/scala/net/psforever/packet/game/BuildingInfoUpdateMessage.scala" target="_blank">BuildingInfoUpdateMessage.scala</a></dd></dl><div class="toggleContainer"><div class="toggle block"><span>Linear Supertypes</span><div class="superTypes hiddenContent"><span name="scala.Product" class="extype">Product</span>, <span name="scala.Equals" class="extype">Equals</span>, <a href="../PlanetSideGamePacket.html" name="net.psforever.packet.PlanetSideGamePacket" id="net.psforever.packet.PlanetSideGamePacket" class="extype">PlanetSideGamePacket</a>, <a href="../PlanetSidePacket.html" name="net.psforever.packet.PlanetSidePacket" id="net.psforever.packet.PlanetSidePacket" class="extype">PlanetSidePacket</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html#java.io.Serializable" name="java.io.Serializable" id="java.io.Serializable" class="extype">Serializable</a>, <span name="scala.AnyRef" class="extype">AnyRef</span>, <span name="scala.Any" class="extype">Any</span></div></div></div></div><div id="mbrsel"><div class="toggle"></div><div id="memberfilter"><i class="material-icons arrow"></i><span class="input"><input placeholder="Filter all members" id="mbrsel-input" type="text" accesskey="/"/></span><i class="clear material-icons"></i></div><div id="filterby"><div id="order"><span class="filtertype">Ordering</span><ol><li class="alpha in"><span>Alphabetic</span></li><li class="inherit out"><span>By Inheritance</span></li></ol></div><div class="ancestors"><span class="filtertype">Inherited<br/></span><ol id="linearization"><li class="in" name="net.psforever.packet.game.BuildingInfoUpdateMessage"><span>BuildingInfoUpdateMessage</span></li><li class="in" name="scala.Product"><span>Product</span></li><li class="in" name="scala.Equals"><span>Equals</span></li><li class="in" name="net.psforever.packet.PlanetSideGamePacket"><span>PlanetSideGamePacket</span></li><li class="in" name="net.psforever.packet.PlanetSidePacket"><span>PlanetSidePacket</span></li><li class="in" name="java.io.Serializable"><span>Serializable</span></li><li class="in" name="scala.AnyRef"><span>AnyRef</span></li><li class="in" name="scala.Any"><span>Any</span></li></ol></div><div class="ancestors"><span class="filtertype"></span><ol><li class="hideall out"><span>Hide All</span></li><li class="showall in"><span>Show All</span></li></ol></div><div id="visbl"><span class="filtertype">Visibility</span><ol><li class="public in"><span>Public</span></li><li class="protected out"><span>Protected</span></li></ol></div></div></div><div id="template"><div id="allMembers"><div id="constructors" class="members"><h3>Instance Constructors</h3><ol><li class="indented0 " name="net.psforever.packet.game.BuildingInfoUpdateMessage#<init>" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="<init>(continent_id:Int,building_map_id:Int,ntu_level:Int,is_hacked:Boolean,empire_hack:net.psforever.types.PlanetSideEmpire.Value,hack_time_remaining:Long,empire_own:net.psforever.types.PlanetSideEmpire.Value,unk1:Long,unk1x:Option[net.psforever.packet.game.Additional1],generator_state:net.psforever.types.PlanetSideGeneratorState.Value,spawn_tubes_normal:Boolean,force_dome_active:Boolean,lattice_benefit:Int,cavern_benefit:Int,unk4:List[net.psforever.packet.game.Additional2],unk5:Long,unk6:Boolean,unk7:Int,unk7x:Option[net.psforever.packet.game.Additional3],boost_spawn_pain:Boolean,boost_generator_pain:Boolean):net.psforever.packet.game.BuildingInfoUpdateM
|
||
|
|
NTU is reported in multiples of 10%;
|
||
|
|
valid for 0 (0%) to 10 (100%)</p></dd><dt class="param">is_hacked</dt><dd class="cmt"><p>if the building can be hacked and will take time to convert, whether the building is being hacked</p></dd><dt class="param">empire_hack</dt><dd class="cmt"><p>if the building is being hacked, the empire that is performing the hacking</p></dd><dt class="param">hack_time_remaining</dt><dd class="cmt"><p>if the building is being hacked, the amount of time remaining until the hack finishes/clears;
|
||
|
|
recorded in milliseconds (ms)</p></dd><dt class="param">empire_own</dt><dd class="cmt"><p>the empire that owns the building currently</p></dd><dt class="param">unk1</dt><dd class="cmt"><p>na;
|
||
|
|
value != 0 causes the next field to be defined</p></dd><dt class="param">unk1x</dt><dd class="cmt"><p>na</p></dd><dt class="param">generator_state</dt><dd class="cmt"><p>if the building has a generator, the state of the generator</p></dd><dt class="param">spawn_tubes_normal</dt><dd class="cmt"><p>if the building has spawn tubes, whether at least one of the tubes is powered and operational</p></dd><dt class="param">force_dome_active</dt><dd class="cmt"><p>if the building is a capitol facility, whether the force dome is active</p></dd><dt class="param">lattice_benefit</dt><dd class="cmt"><p>the benefits from other Lattice-linked bases does this building possess</p></dd><dt class="param">cavern_benefit</dt><dd class="cmt"><p>cavern benefits;
|
||
|
|
any non-zero value will cause the cavern module icon (yellow) to appear;
|
||
|
|
proper module values cause the cavern module icon to render green;
|
||
|
|
all benefits will report as due to a "Cavern Lock"</p></dd><dt class="param">unk4</dt><dd class="cmt"><p>na</p></dd><dt class="param">unk5</dt><dd class="cmt"><p>na</p></dd><dt class="param">unk6</dt><dd class="cmt"><p>na</p></dd><dt class="param">unk7</dt><dd class="cmt"><p>na;
|
||
|
|
value != 8 causes the next field to be defined</p></dd><dt class="param">unk7x</dt><dd class="cmt"><p>na</p></dd><dt class="param">boost_spawn_pain</dt><dd class="cmt"><p>if the building has spawn tubes, the (boosted) strength of its enemy pain field</p></dd><dt class="param">boost_generator_pain</dt><dd class="cmt"><p>if the building has a generator, the (boosted) strength of its enemy pain field</p></dd></dl></div></li></ol></div><div id="types" class="types members"><h3>Type Members</h3><ol><li class="indented0 " name="net.psforever.packet.game.BuildingInfoUpdateMessage.Packet" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="Packet=net.psforever.packet.game.BuildingInfoUpdateMessage"></a><a id="Packet:Packet"></a> <span class="permalink"><a href="../../../../net/psforever/packet/game/BuildingInfoUpdateMessage.html#Packet=net.psforever.packet.game.BuildingInfoUpdateMessage" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">type</span></span> <span class="symbol"><span class="name">Packet</span><span class="result alias"> = <a href="" name="net.psforever.packet.game.BuildingInfoUpdateMessage" id="net.psforever.packet.game.BuildingInfoUpdateMessage" class="extype">BuildingInfoUpdateMessage</a></span></span></li></ol></div><div class="values members"><h3>Value Members</h3><ol><li class="indented0 " name="scala.AnyRef#!=" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="!=(x$1:Any):Boolean"></a><a id="!=(Any):Boolean"></a> <span class="permalink"><a href="../../../../net/psforever/packet/game/BuildingInfoUpdateMessage.html#!=(x$1:Any):Boolean" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name" title="gt4s: $bang$eq">!=</span><span class="params">(<span name="arg0">arg0: <span name="scala.Any" class="extype">Any</span></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div></li><li class="indented0 " name="scala.AnyRef###" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="##:Int"></a> <span class="permalink"><a href="../../../../net/psforever/packet/game/BuildingInfoUpdateMessage.html###:Int" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name" title="gt4s: $hash$hash">##</span><span class="result">: <span name="scala.Int" class="extype">Int</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div></li><li class="indented0 " name="scala.AnyRef#==" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="==(x$1:Any):Boolean"></a><a id="==(Any):Boolean"></a> <span class="permalink"><a href="../../../../net/psforever/packet/game/BuildingInfoUpdateMessage.html#==(x$1:Any):Boolean" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span class="symbol"><span class="name" title="gt4s: $eq$eq">==</span><span class="params">(<span name="arg0">arg0: <span name="scala.Any" class="extype">Any</span></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div></li><li class="indented0 " name="scala.Any#asInstanceOf" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="asInstanceOf[T0]:T0"></a> <span class="permalink"><a href="../../../../net/psforever/packet/game/BuildingInfoUpdateMessage.html#asInstanceOf[T0]:T0
|