Character Visual Structure - zeroKilo/GROBackendWV GitHub Wiki

Character Visual Structure

This is mostly a writeup how the 5 elements that make up the player appearance are derived over the packets

class    = 0..2		//the 3 character types
helmet   = asset key
head     = 0..6
power    = 0..6
camo     = 0..0x20
skinTone = 0..0x20

Some of these indexes come from data tables inside the yeti filesystem to set them a combination of packets are used together:

[key: e7701f70]  SetData:1 ///Data/99 - Standalone/GRODummy/GRO-Dummy/Modelisation/Data table/Camo_DataTable.dtb
[key: e7701f71]  SetData:1 ///Data/99 - Standalone/GRODummy/GRO-Dummy/Modelisation/Data table/Skin_DataTable.dtb
[key: e7701f72]  SetData:1 ///Data/99 - Standalone/GRODummy/GRO-Dummy/Modelisation/Data table/Head_DataTable.dtb
[key: e7701f75]  SetData:1 ///Data/99 - Standalone/GRODummy/GRO-Dummy/Modelisation/Data table/Body_DataTable.dtb
[key: e7701f76]  SetData:1 ///Data/99 - Standalone/GRODummy/GRO-Dummy/Modelisation/Data table/Power_DataTable.dtb

Head

  1. From characters the face parameter is used to select a face skin tone entry with same ID
  2. From this the objectKey parameter is used to set the head

Skin tone

  1. From characters the skin parameter is used to select a face skin tone entry with same ID
  2. From this the objectKey parameter is used to set the skin tone

Helmet

  1. InventoryBag with type 4 is selected
  2. From there InventoryBagSlot with SlotID 8 is selected
  3. From this the InventoryID is used to select an useritem with the same inventoryID
  4. From this the itemID is used to select an armoritem with same ID
  5. From this the assetKey parameter sets the helmet

Power

  1. InventoryBag with type 4 is selected
  2. From there InventoryBagSlot with SlotID 9 is selected
  3. From this the InventoryID is used to select an abilityitem with the same classID
  4. From this item the type parameter sets the power

Camo

  1. InventoryBag with type 4 is selected
  2. From there InventoryBagSlot with SlotID 7 is selected
  3. From this the InventoryID is used to select an useritem with the same inventoryID
  4. From this item the itemID is used to select an armortier with the same ID
  5. From this the modefierListID is used to select an skillmodefierlist with same ID
  6. From its list of skillmodefiers one is selected with modtype = 12 and proptype = 5
  7. From that the methodvalue parameter sets the camo