final case class BuildingInfoUpdateMessage(continent_id: Int, building_map_id: Int, ntu_level: Int, is_hacked: Boolean, empire_hack: types.PlanetSideEmpire.Value, hack_time_remaining: Long, empire_own: types.PlanetSideEmpire.Value, unk1: Long, unk1x: Option[Additional1], generator_state: types.PlanetSideGeneratorState.Value, spawn_tubes_normal: Boolean, force_dome_active: Boolean, lattice_benefit: Set[LatticeBenefit], cavern_benefit: Set[CavernBenefit], unk4: List[Additional2], unk5: Long, unk6: Boolean, unk7: Int, unk7x: Option[Additional3], boost_spawn_pain: Boolean, boost_generator_pain: Boolean) extends PlanetSideGamePacket with Product with Serializable
Update the state of map asset for a client's specific building's state.
The most common application of this packet is to synchronize map state during world login.
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.)
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 is_hacking
is false
, the other hacking fields are considered invalid.
If is_hacking
is true
but the hacking empire is also the owning empire, the is_hacking
state is invalid.
- continent_id
the continent (zone)
- building_map_id
the map id of this building from the MPO files
- ntu_level
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%)
- is_hacked
if the building can be hacked and will take time to convert, whether the building is being hacked
- empire_hack
if the building is being hacked, the empire that is performing the hacking
- hack_time_remaining
if the building is being hacked, the amount of time remaining until the hack finishes/clears; recorded in milliseconds (ms)
- empire_own
the empire that owns the building currently
- unk1
na; value != 0 causes the next field to be defined
- unk1x
na
- generator_state
if the building has a generator, the state of the generator
- spawn_tubes_normal
if the building has spawn tubes, whether at least one of the tubes is powered and operational
- force_dome_active
if the building is a capitol facility, whether the force dome is active
- lattice_benefit
the benefits from other Lattice-linked bases does this building possess
- cavern_benefit
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"
- unk4
na
- unk5
na
- unk6
na
- unk7
na; value != 8 causes the next field to be defined
- unk7x
na
- boost_spawn_pain
if the building has spawn tubes, the (boosted) strength of its enemy pain field
- boost_generator_pain
if the building has a generator, the (boosted) strength of its enemy pain field
- Alphabetic
- By Inheritance
- BuildingInfoUpdateMessage
- Product
- Equals
- PlanetSideGamePacket
- PlanetSidePacket
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new BuildingInfoUpdateMessage(continent_id: Int, building_map_id: Int, ntu_level: Int, is_hacked: Boolean, empire_hack: types.PlanetSideEmpire.Value, hack_time_remaining: Long, empire_own: types.PlanetSideEmpire.Value, unk1: Long, unk1x: Option[Additional1], generator_state: types.PlanetSideGeneratorState.Value, spawn_tubes_normal: Boolean, force_dome_active: Boolean, lattice_benefit: Set[LatticeBenefit], cavern_benefit: Set[CavernBenefit], unk4: List[Additional2], unk5: Long, unk6: Boolean, unk7: Int, unk7x: Option[Additional3], boost_spawn_pain: Boolean, boost_generator_pain: Boolean)
- continent_id
the continent (zone)
- building_map_id
the map id of this building from the MPO files
- ntu_level
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%)
- is_hacked
if the building can be hacked and will take time to convert, whether the building is being hacked
- empire_hack
if the building is being hacked, the empire that is performing the hacking
- hack_time_remaining
if the building is being hacked, the amount of time remaining until the hack finishes/clears; recorded in milliseconds (ms)
- empire_own
the empire that owns the building currently
- unk1
na; value != 0 causes the next field to be defined
- unk1x
na
- generator_state
if the building has a generator, the state of the generator
- spawn_tubes_normal
if the building has spawn tubes, whether at least one of the tubes is powered and operational
- force_dome_active
if the building is a capitol facility, whether the force dome is active
- lattice_benefit
the benefits from other Lattice-linked bases does this building possess
- cavern_benefit
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"
- unk4
na
- unk5
na
- unk6
na
- unk7
na; value != 8 causes the next field to be defined
- unk7x
na
- boost_spawn_pain
if the building has spawn tubes, the (boosted) strength of its enemy pain field
- boost_generator_pain
if the building has a generator, the (boosted) strength of its enemy pain field
Type Members
- type Packet = BuildingInfoUpdateMessage
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- val boost_generator_pain: Boolean
- val boost_spawn_pain: Boolean
- val building_map_id: Int
- val cavern_benefit: Set[CavernBenefit]
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- val continent_id: Int
- val empire_hack: types.PlanetSideEmpire.Value
- val empire_own: types.PlanetSideEmpire.Value
- def encode: Attempt[BitVector]
- Definition Classes
- BuildingInfoUpdateMessage → PlanetSidePacket
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- val force_dome_active: Boolean
- val generator_state: types.PlanetSideGeneratorState.Value
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- val hack_time_remaining: Long
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val is_hacked: Boolean
- val lattice_benefit: Set[LatticeBenefit]
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- val ntu_level: Int
- def opcode: GamePacketOpcode.Value
- Definition Classes
- BuildingInfoUpdateMessage → PlanetSideGamePacket → PlanetSidePacket
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- val spawn_tubes_normal: Boolean
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- val unk1: Long
- val unk1x: Option[Additional1]
- val unk4: List[Additional2]
- val unk5: Long
- val unk6: Boolean
- val unk7: Int
- val unk7x: Option[Additional3]
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()