mirror of
https://github.com/psforever/PSF-LoginServer.git
synced 2026-03-15 02:10:40 +00:00
48 lines
70 KiB
HTML
48 lines
70 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.objectcreate.CharacterData</title><meta content="PSF - LoginServer - master - net.psforever.packet.game.objectcreate.CharacterData" name="description"/><meta content="PSF LoginServer master net.psforever.packet.game.objectcreate.CharacterData" 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
|
||
|
|
<br>
|
||
|
|
This information outlines most of the specifics required to depict some other player's character.
|
||
|
|
Someone else decides how that character is behaving and the server tells each client how to depict that behavior.
|
||
|
|
For that reason, the character is mostly for presentation purposes, rather than really being fleshed-out.
|
||
|
|
Of the inventory for this character, only the initial five weapon slots are defined.
|
||
|
|
In the "backend of the client," the character produced by this data is no different
|
||
|
|
from the kind of character that could be declared a given player's avatar.
|
||
|
|
In terms of equipment and complicated features common to an avatar character, however,
|
||
|
|
any user would find this character ill-equipped.</p></div><dl class="paramcmts block"><dt class="param">health</dt><dd class="cmt"><p>the amount of health the player has, as a percentage of a filled bar;
|
||
|
|
the bar has 85 states, with 3 points for each state;
|
||
|
|
when 0% (less than 3 of 255), the player will collapse into a death pose on the ground;
|
||
|
|
while <code>is_backpack == true</code>, <code>health</code> will always report as 0;
|
||
|
|
while <code>is_seated == true</code>, <code>health</code> will (try to) report as 100</p></dd><dt class="param">armor</dt><dd class="cmt"><p>the amount of armor the player has, as a percentage of a filled bar;
|
||
|
|
the bar has 85 states, with 3 points for each state;
|
||
|
|
while <code>is_seated == true</code>, <code>armor</code> will always report as 0</p></dd><dt class="param">uniform_upgrade</dt><dd class="cmt"><p>the level of upgrade to apply to the player's base uniform</p></dd><dt class="param">command_rank</dt><dd class="cmt"><p>the player's command rank as a number from 0 to 5;
|
||
|
|
cosmetic armor associated with the command rank will be applied automatically</p></dd><dt class="param">implant_effects</dt><dd class="cmt"><p>the effects of implants that can be seen on a player's character;
|
||
|
|
the number of entries equates to the number of effects applied;
|
||
|
|
the maximu number of effects is three</p></dd><dt class="param">cosmetics</dt><dd class="cmt"><p>optional decorative features that are added to the player's head model by console/chat commands;
|
||
|
|
they become available at battle rank 24, but here they require the third uniform upgrade (rank 25);
|
||
|
|
these flags do not exist if they are not applicable</p></dd><dt class="param">is_backpack</dt><dd class="cmt"><p>this player character should be depicted as a corpse;
|
||
|
|
corpses are either coffins (defunct), backpacks (normal), or a pastry (festive);
|
||
|
|
the alternate model bit should be flipped</p></dd><dt class="param">is_seated</dt><dd class="cmt"><p>this player character is seated in a vehicle or mounted to some other object;
|
||
|
|
alternate format for data parsing applies</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/objectcreate/CharacterData.scala" target="_blank">CharacterData.scala</a></dd><dt>See also</dt><dd><span class="cmt"><p><code>DetailedCharacterData</code></p></span><span class="cmt"><p><code>Cosmetics</code></p></span></dd></dl><div class="toggleContainer"><div class="toggle block"><span>Linear Supertypes</span><div class="superTypes hiddenContent"><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.Product" class="extype">Product</span>, <span name="scala.Equals" class="extype">Equals</span>, <a href="ConstructorData.html" name="net.psforever.packet.game.objectcreate.ConstructorData" id="net.psforever.packet.game.objectcreate.ConstructorData" class="extype">ConstructorData</a>, <a href="StreamBitSize.html" name="net.psforever.packet.game.objectcreate.StreamBitSize" id="net.psforever.packet.game.objectcreate.StreamBitSize" class="extype">StreamBitSize</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.objectcreate.CharacterData"><span>CharacterData</span></li><li class="in" name="java.io.Serializable"><span>Serializable</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.game.objectcreate.ConstructorData"><span>ConstructorData</span></li><li class="in" name="net.psforever.packet.game.objectcreate.StreamBitSize"><span>StreamBitSize</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.objectcreate.CharacterData#<init>" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="<init>(health:Int,armor:Int,uniform_upgrade:net.psforever.packet.game.objectcreate.UniformStyle.Value,unk:Int,command_rank:Int,implant_effects:List[net.psforever.packet.game.objectcreate.ImplantEffects.Value],cosmetics:Option[Set[net.psforever.objects.avatar.Cosmetic]])(is_backpack:Boolean,is_seated:Boolean):net.psforever.packet.game.objectcreate.CharacterData"></a><a id="<init>:CharacterData"></a> <span class="permalink"><a href="../../../../../net/psforever/packet/game/objectcreate/CharacterData.html#<init>(health:Int,armor:Int,uniform_upgrade:net.psforever.packet.game.objectcreate.UniformStyle.Value,unk:Int,command_rank:Int,implant_effects:List[net.psforever.packet.game.objectcreate.ImplantEffects.Value],cosmetics:Option[Set[net.psforever.objects.avatar.Cosmetic]])(is_backpack:Boolean,is_seated:Boolean):net.psfor
|
||
|
|
the bar has 85 states, with 3 points for each state;
|
||
|
|
when 0% (less than 3 of 255), the player will collapse into a death pose on the ground;
|
||
|
|
while <code>is_backpack == true</code>, <code>health</code> will always report as 0;
|
||
|
|
while <code>is_seated == true</code>, <code>health</code> will (try to) report as 100</p></dd><dt class="param">armor</dt><dd class="cmt"><p>the amount of armor the player has, as a percentage of a filled bar;
|
||
|
|
the bar has 85 states, with 3 points for each state;
|
||
|
|
while <code>is_seated == true</code>, <code>armor</code> will always report as 0</p></dd><dt class="param">uniform_upgrade</dt><dd class="cmt"><p>the level of upgrade to apply to the player's base uniform</p></dd><dt class="param">command_rank</dt><dd class="cmt"><p>the player's command rank as a number from 0 to 5;
|
||
|
|
cosmetic armor associated with the command rank will be applied automatically</p></dd><dt class="param">implant_effects</dt><dd class="cmt"><p>the effects of implants that can be seen on a player's character;
|
||
|
|
the number of entries equates to the number of effects applied;
|
||
|
|
the maximu number of effects is three</p></dd><dt class="param">cosmetics</dt><dd class="cmt"><p>optional decorative features that are added to the player's head model by console/chat commands;
|
||
|
|
they become available at battle rank 24, but here they require the third uniform upgrade (rank 25);
|
||
|
|
these flags do not exist if they are not applicable</p></dd><dt class="param">is_backpack</dt><dd class="cmt"><p>this player character should be depicted as a corpse;
|
||
|
|
corpses are either coffins (defunct), backpacks (normal), or a pastry (festive);
|
||
|
|
the alternate model bit should be flipped</p></dd><dt class="param">is_seated</dt><dd class="cmt"><p>this player character is seated in a vehicle or mounted to some other object;
|
||
|
|
alternate format for data parsing applies</p></dd></dl></div></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/objectcreate/CharacterData.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/objectcreate/CharacterData.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/objectcreate/CharacterData.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="net.psforever.packet.game.objectcreate.CharacterData#armor" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="armor:Int"></a> <span class="permalink"><a href="../../../../../net/psforever/packet/game/objectcreate/CharacterData.html#armor:Int" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">val</span></span> <span class="symbol"><span class="name">armor</span><span class="result">: <span name="scala.Int" class="extype">Int</span></span></span></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/objectcreate/CharacterData.html#asInstanceOf[T0]:T0" 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">asInstanceOf</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="result">: <span name="scala.Any.asInstanceOf.T0" class="extype">T0</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>Any</dd></dl></div></li><li class="indented0 " name="net.psforever.packet.game.objectcreate.CharacterData#bitsize" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="bitsize:
|
||
|
|
<br>
|
||
|
|
The calculation reflects the <code>scodec Codec</code> definition rather than the explicit parameter fields.</p><div class="fullcomment"><div class="comment cmt"><p>Performs a "sizeof()" analysis of the given object.<br>
|
||
|
|
<br>
|
||
|
|
The calculation reflects the <code>scodec Codec</code> definition rather than the explicit parameter fields.
|
||
|
|
For example, a traditional <code>Int</code> is normally a 32-bit number, often rendered as a <code>32u</code> number.
|
||
|
|
When parsed with a <code>uintL(7)</code>, it's length will be considered 7 bits (<code>7u</code>).
|
||
|
|
(Note: being permanently signed, an <code>scodec</code> value of <code>32u</code> or longer must fit into a <code>Long</code> type.)</p></div><dl class="paramcmts block"><dt>returns</dt><dd class="cmt"><p>the number of bits necessary to measure an object of this class;
|
||
|
|
defaults to <code>0L</code></p></dd></dl><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="" name="net.psforever.packet.game.objectcreate.CharacterData" id="net.psforever.packet.game.objectcreate.CharacterData" class="extype">CharacterData</a> → <a href="StreamBitSize.html" name="net.psforever.packet.game.objectcreate.StreamBitSize" id="net.psforever.packet.game.objectcreate.StreamBitSize" class="extype">StreamBitSize</a></dd></dl></div></li><li class="indented0 " name="scala.AnyRef#clone" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="prt"><a id="clone():Object"></a><a id="clone():AnyRef"></a> <span class="permalink"><a href="../../../../../net/psforever/packet/game/objectcreate/CharacterData.html#clone():Object" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">clone</span><span class="params">()</span><span class="result">: <span name="scala.AnyRef" class="extype">AnyRef</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Attributes</dt><dd>protected[<span name="java.lang" class="extype">lang</span>] </dd><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@throws</span><span class="args">(<span><span class="defval">classOf[java.lang.CloneNotSupportedException]</span></span>)</span> <span class="name">@native</span><span class="args">()</span> </dd></dl></div></li><li class="indented0 " name="net.psforever.packet.game.objectcreate.CharacterData#command_rank" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="command_rank:Int"></a> <span class="permalink"><a href="../../../../../net/psforever/packet/game/objectcreate/CharacterData.html#command_rank:Int" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">val</span></span> <span class="symbol"><span class="name">command_rank</span><span class="result">: <span name="scala.Int" class="extype">Int</span></span></span></li><li class="indented0 " name="net.psforever.packet.game.objectcreate.CharacterData#cosmetics" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="cosmetics:Option[Set[net.psforever.objects.avatar.Cosmetic]]"></a><a id="cosmetics:Option[Set[Cosmetic]]"></a> <span class="permalink"><a href="../../../../../net/psforever/packet/game/objectcreate/CharacterData.html#cosmetics:Option[Set[net.psforever.objects.avatar.Cosmetic]]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">val</span></span> <span class="symbol"><span class="name">cosmetics</span><span class="result">: <span name="scala.Option" class="extype">Option</span>[<span name="scala.Predef.Set" class="extype">Set</span>[<a href="../../../objects/avatar/Cosmetic.html" name="net.psforever.objects.avatar.Cosmetic" id="net.psforever.objects.avatar.Cosmetic" class="extype">Cosmetic</a>]]</span></span></li><li class="indented0 " name="scala.AnyRef#eq" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="eq(x$1:AnyRef):Boolean"></a><a id="eq(AnyRef):Boolean"></a> <span class="permalink"><a href="../../../../../net/psforever/packet/game/objectcreate/CharacterData.html#eq(x$1:AnyRef):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">eq</span><span class="params">(<span name="arg0">arg0: <span name="scala.AnyRef" class="extype">AnyRef</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</dd></dl></div></li><li class="indented0 " name="scala.AnyRef#finalize" group="Ungrouped" fullComment="yes" data-isabs="false" vi
|