Difference between revisions of "Game Opcodes:Set Occupancy Group"

From FFXIV Classic Wiki
Jump to: navigation, search
(Visual Layout)
(Updating notes after further invesigating/testing)
Line 15: Line 15:
 
! style="text-align: center; font-size: 14px;" | Description
 
! style="text-align: center; font-size: 14px;" | Description
 
|-
 
|-
| 0x00 || uint64 || 8 Bytes || firstGroup || The group to be assigned occupancy of another group.
+
| 0x00 || uint64 || 8 Bytes || monsterGroup || The monster group to be assigned to a playerGroup
 
|-
 
|-
| 0x08 || uint32 || 4 Bytes || groupType || The type of group involved, generally PlayerPartyGroup (10001).  Investigate more.
+
| 0x08 || uint32 || 4 Bytes || groupType || The type of content group involved, generally MonsterPartyGroup (10002) for field monstersIfrit uses SimpleContentGroup (30012)
 
|-
 
|-
| 0x10 || uint64 || 8 Bytes || secondGroup || The group to be occupied by the first group.
+
| 0x10 || uint64 || 8 Bytes || playerGroup || The player group to be given claim of the monsterGroup
 
|-
 
|-
| 0x18 || uint32 || 4 bytes || unknown || Always 0xFFFFFFFF.  Possibly group type assigned also but unneeded for monsters?
+
| 0x18 || uint32 || 4 bytes || unknown || Always 0xFFFFFFFF
 
|}
 
|}
  
Line 27: Line 27:
  
 
:* A list of the groupType are in _group
 
:* A list of the groupType are in _group
:* A list of names the regionID links to is in xtx_placeName.
 
 
:* hateType workvalue works based on whether a group is set as occupied by another at the time of hateType being called.   
 
:* hateType workvalue works based on whether a group is set as occupied by another at the time of hateType being called.   
 
:::It is not retroactive and will need to be called again if the OccupancyGroup changes to ensure correct name label colour.
 
:::It is not retroactive and will need to be called again if the OccupancyGroup changes to ensure correct name label colour.
 +
:* Monster parties do exist (Ifrit fight for example, all the dummy clones for effects are grouped), but still require individual hateType setting
  
  
Line 41: Line 41:
 
|-
 
|-
 
! 0x00
 
! 0x00
| colspan="8" style="background:#CEE0F2" | '''firstGroup'''
+
| colspan="8" style="background:#CEE0F2" | '''monsterGroup'''
 
| colspan="4" style="background:#8FA6E8" | '''groupType'''
 
| colspan="4" style="background:#8FA6E8" | '''groupType'''
 
| 00 || 00 || 00 || 00
 
| 00 || 00 || 00 || 00
 
|-
 
|-
 
! 0x10
 
! 0x10
| colspan="8" style="background:#C0E8A7" | '''secondGroup'''
+
| colspan="8" style="background:#C0E8A7" | '''playerGroup'''
 
| colspan="4" style="background:#f1cbff" | '''unknown'''
 
| colspan="4" style="background:#f1cbff" | '''unknown'''
 
| 00 || 00 || 00 || 00
 
| 00 || 00 || 00 || 00

Revision as of 18:41, 4 March 2019

Sets a group for another group to occupy/have ownership of.

Opcode - 0x187
Source - Server
Data Size - 64 bytes
Requirements - None

Data

Offset Data Type Length Variable Description
0x00 uint64 8 Bytes monsterGroup The monster group to be assigned to a playerGroup
0x08 uint32 4 Bytes groupType The type of content group involved, generally MonsterPartyGroup (10002) for field monsters. Ifrit uses SimpleContentGroup (30012)
0x10 uint64 8 Bytes playerGroup The player group to be given claim of the monsterGroup
0x18 uint32 4 bytes unknown Always 0xFFFFFFFF

Notes

  • A list of the groupType are in _group
  • hateType workvalue works based on whether a group is set as occupied by another at the time of hateType being called.
It is not retroactive and will need to be called again if the OccupancyGroup changes to ensure correct name label colour.
  • Monster parties do exist (Ifrit fight for example, all the dummy clones for effects are grouped), but still require individual hateType setting


Visual Layout

Packet Data Layout
0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xA 0xB 0xC 0xD 0xE 0xF
0x00 monsterGroup groupType 00 00 00 00
0x10 playerGroup unknown 00 00 00 00
0x20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x40
0x50
0x60
0x70
0x80
0x90
0xA0