Module nari.types.director
DirectorUpdate represents changes from the 'Director' to the 'scene' in-game
When something more global than the actor scope happens, it's likely initiated by the director. For example, on a wipe, the director will prompt fade to black, fade back in, and raising/lowering the barrier.
Expand source code
"""DirectorUpdate represents changes from the 'Director' to the 'scene' in-game
When something more global than the actor scope happens, it's likely initiated by the director.
For example, on a wipe, the director will prompt fade to black, fade back in, and raising/lowering
the barrier.
"""
from enum import IntEnum
# pylint: disable=invalid-name
class DirectorUpdateCategory(IntEnum):
"""Relates to the type of content that's being 'directed'"""
BattleLeve = 0x8001
"""Content is a combat leve duty"""
GatheringLeve = 0x8002
"""Content is a gathering leve duty"""
InstanceContent = 0x8003
"""Any type of content that is an instance
Instanced content include:
* Raid arenas
* Dungeons
* Alliance areas
* Trials
"""
PublicContent = 0x8004
"""Not sure what this is. Just regular stuff?"""
QuestBattle = 0x8006
"""Not sure what this is. Perhaps instanced content like job quests?"""
CompanyLeve = 0x8007
"""Need a better description."""
TreasureHunt = 0x8009
"""Content that involves treasure maps with adds; perhaps also the 'dungeon' area afterwards?"""
GoldSaucer = 0x800A
"""Probably related to GATEs"""
CompanyCraftDirector = 0x800B
"""I'm assuming this is the 'group craft' actions like when you make an airship"""
DpsChallange = 0x800D
"""Stone, Sea, Sky content"""
Fate = 0x801A
"""FATE-related content"""
@classmethod
def name_for_value(cls, value):
"""Helper class method to return the name of the enum when you already have the value"""
if value in cls.__members__.values():
return cls(value).name
return 'Unknown'
class DirectorUpdateCommand(IntEnum):
"""These are the 'command' portion of a director update"""
init = 0x40000001 # params: 3: duty length in seconds, eg 0xE10 is 3600 or 1 hour, 4-6: unused
"""When a piece of content is initialized
Params that follow the command:
| Index | Description |
| ----: | -----------------: |
| 3 | *unused* |
| 4 | Passed to director |
| 5-6 | *unused* |
"""
complete = 0x40000002 # "Duty Complete" flying text
"""When a piece of content ends
Params that follow the command:
| Index | Description |
| ----: | -----------------: |
| 3 | *unused* |
| 4 | Passed to director |
| 5-6 | *unused* |
"""
clear = 0x40000003
"""Emits when a piece of content is 'cleared'
Params that follow the command:
| Index | Description |
| ----: | ----------------------------------------------------: |
| 3 | `0x1` if a first-time clear (causes fadeout sequence) |
| 4-6 | *unused* |
"""
timer = 0x40000004
"""The duty time in seconds
Params that follow the command:
| Index | Description |
| ----: | ---------------------: |
| 3 | Duty time (in seconds) |
| 4-6 | *unused* |
"""
fadeout = 0x40000005
"""Instructs the screen to fade to black"""
barrierdown = 0x40000006
"""Takes the 'instance' barrier down"""
noclue = 0x40000007 # params: examples, no clue tho (0x6, 0x0, 0x0, 0x0, 0x0, 0x0), (0x6, 0x1, 0x0, 0x0, 0x0, 0x0)
initvote = 0x40000008 # init vote (ie abandon, kick, etc) – params: 3: vote type, 4: vote initiator, 5-6: unknown
"""Promps a vote to be held
Params that follow the command:
| Index | Description |
| ----: | ----------------------: |
| 3 | Vote type |
| 4 | Vote initiator actor ID |
| 5 | *unknown* |
| 6 | *unknown* |
"""
concludevote = 0x40000009 # conclude vote – params: 3: vote type, 4: 1 for succeed/0 for fail, 5: vote initiator, 6: unknown
"""Concludes the vote and shows the result
Params that follow the command:
| Index | Description |
| ----: | ---------------------------: |
| 3 | Vote type |
| 4 | 1 for success; 0 for failure |
| 5 | Vote initiator actor ID |
| 6 | *unknown* |
"""
partyinvite = 0x4000000A # "you invite x to a party" – params: 3: log message id?, 4: log message param?, 5-6: unused
"""Sent when you invite someone to the party
Params that follow the command:
| Index | Description |
| ----: | -----------------: |
| 3 | Log message id? |
| 4 | Log message param? |
| 5-6 | *unused* |
"""
dutygate = 0x4000000C # no idea on params, looks like first one is used only, seems to be either 0x00 or 0x02
"""This command sets the state of artificial walls in duties, such as gates in Doma Castle or water walls in Neverreap"""
newtoduty = 0x4000000D
"""This command comes in when one or more members in the instance are new to the duty"""
levelup = 0x4000000E
"""This command comes in when a player levels up in the duty
Params that follow the command:
| Index | Description |
| ----: | ----------: |
| 3 | Actor ID |
| 4 | Old level |
| 5 | New level |
| 6 | *unused* |
"""
fadein = 0x40000010
"""Causes a fade-in to happen
Params that follow the command:
| Index | Description |
| ----: | ---------------------: |
| 3 | Time left (in seconds) |
| 4-6 | *unused* |
"""
barrierup = 0x40000012
"""Puts an 'instance' barrier up"""
partyloot = 0x40000013 # "x of 8 party members are eligible for duty rewards" – params: 3: eligible people, 4: log message param?, 5-6: unused
"""This command lists how many party members are elible for duty rewards. The number of chests dropped in locked content
appears to be hardcoded into the client, and as such doesn't change this packet.
Params that follow the command:
| Index | Description |
| ----: | ----------------: |
| 3 | Eligibility count |
| 4-6 | *unused* |
"""
instancesynctime = 0x80000002
"""A periodic packet sent to indicate the remaining time in an instance
Params that follow the command:
| Index | Description |
| ----: | ---------------------: |
| 3 | Time left (in seconds) |
| 4-6 | *unused* |
"""
@classmethod
def name_for_value(cls, value):
"""Helper class method to return the name of the enum when you already have the value"""
if value in cls.__members__.values():
return cls(value).name
return 'Unknown'
# pylint: enable=invalid-name
Classes
class DirectorUpdateCategory (value, names=None, *, module=None, qualname=None, type=None, start=1)
-
Relates to the type of content that's being 'directed'
Expand source code
class DirectorUpdateCategory(IntEnum): """Relates to the type of content that's being 'directed'""" BattleLeve = 0x8001 """Content is a combat leve duty""" GatheringLeve = 0x8002 """Content is a gathering leve duty""" InstanceContent = 0x8003 """Any type of content that is an instance Instanced content include: * Raid arenas * Dungeons * Alliance areas * Trials """ PublicContent = 0x8004 """Not sure what this is. Just regular stuff?""" QuestBattle = 0x8006 """Not sure what this is. Perhaps instanced content like job quests?""" CompanyLeve = 0x8007 """Need a better description.""" TreasureHunt = 0x8009 """Content that involves treasure maps with adds; perhaps also the 'dungeon' area afterwards?""" GoldSaucer = 0x800A """Probably related to GATEs""" CompanyCraftDirector = 0x800B """I'm assuming this is the 'group craft' actions like when you make an airship""" DpsChallange = 0x800D """Stone, Sea, Sky content""" Fate = 0x801A """FATE-related content""" @classmethod def name_for_value(cls, value): """Helper class method to return the name of the enum when you already have the value""" if value in cls.__members__.values(): return cls(value).name return 'Unknown'
Ancestors
- enum.IntEnum
- builtins.int
- enum.Enum
Class variables
var BattleLeve
-
Content is a combat leve duty
var CompanyCraftDirector
-
I'm assuming this is the 'group craft' actions like when you make an airship
var CompanyLeve
-
Need a better description.
var DpsChallange
-
Stone, Sea, Sky content
var Fate
-
FATE-related content
var GatheringLeve
-
Content is a gathering leve duty
var GoldSaucer
-
Probably related to GATEs
var InstanceContent
-
Any type of content that is an instance
Instanced content include:
- Raid arenas
- Dungeons
- Alliance areas
- Trials
var PublicContent
-
Not sure what this is. Just regular stuff?
var QuestBattle
-
Not sure what this is. Perhaps instanced content like job quests?
var TreasureHunt
-
Content that involves treasure maps with adds; perhaps also the 'dungeon' area afterwards?
Static methods
def name_for_value(value)
-
Helper class method to return the name of the enum when you already have the value
Expand source code
@classmethod def name_for_value(cls, value): """Helper class method to return the name of the enum when you already have the value""" if value in cls.__members__.values(): return cls(value).name return 'Unknown'
class DirectorUpdateCommand (value, names=None, *, module=None, qualname=None, type=None, start=1)
-
These are the 'command' portion of a director update
Expand source code
class DirectorUpdateCommand(IntEnum): """These are the 'command' portion of a director update""" init = 0x40000001 # params: 3: duty length in seconds, eg 0xE10 is 3600 or 1 hour, 4-6: unused """When a piece of content is initialized Params that follow the command: | Index | Description | | ----: | -----------------: | | 3 | *unused* | | 4 | Passed to director | | 5-6 | *unused* | """ complete = 0x40000002 # "Duty Complete" flying text """When a piece of content ends Params that follow the command: | Index | Description | | ----: | -----------------: | | 3 | *unused* | | 4 | Passed to director | | 5-6 | *unused* | """ clear = 0x40000003 """Emits when a piece of content is 'cleared' Params that follow the command: | Index | Description | | ----: | ----------------------------------------------------: | | 3 | `0x1` if a first-time clear (causes fadeout sequence) | | 4-6 | *unused* | """ timer = 0x40000004 """The duty time in seconds Params that follow the command: | Index | Description | | ----: | ---------------------: | | 3 | Duty time (in seconds) | | 4-6 | *unused* | """ fadeout = 0x40000005 """Instructs the screen to fade to black""" barrierdown = 0x40000006 """Takes the 'instance' barrier down""" noclue = 0x40000007 # params: examples, no clue tho (0x6, 0x0, 0x0, 0x0, 0x0, 0x0), (0x6, 0x1, 0x0, 0x0, 0x0, 0x0) initvote = 0x40000008 # init vote (ie abandon, kick, etc) – params: 3: vote type, 4: vote initiator, 5-6: unknown """Promps a vote to be held Params that follow the command: | Index | Description | | ----: | ----------------------: | | 3 | Vote type | | 4 | Vote initiator actor ID | | 5 | *unknown* | | 6 | *unknown* | """ concludevote = 0x40000009 # conclude vote – params: 3: vote type, 4: 1 for succeed/0 for fail, 5: vote initiator, 6: unknown """Concludes the vote and shows the result Params that follow the command: | Index | Description | | ----: | ---------------------------: | | 3 | Vote type | | 4 | 1 for success; 0 for failure | | 5 | Vote initiator actor ID | | 6 | *unknown* | """ partyinvite = 0x4000000A # "you invite x to a party" – params: 3: log message id?, 4: log message param?, 5-6: unused """Sent when you invite someone to the party Params that follow the command: | Index | Description | | ----: | -----------------: | | 3 | Log message id? | | 4 | Log message param? | | 5-6 | *unused* | """ dutygate = 0x4000000C # no idea on params, looks like first one is used only, seems to be either 0x00 or 0x02 """This command sets the state of artificial walls in duties, such as gates in Doma Castle or water walls in Neverreap""" newtoduty = 0x4000000D """This command comes in when one or more members in the instance are new to the duty""" levelup = 0x4000000E """This command comes in when a player levels up in the duty Params that follow the command: | Index | Description | | ----: | ----------: | | 3 | Actor ID | | 4 | Old level | | 5 | New level | | 6 | *unused* | """ fadein = 0x40000010 """Causes a fade-in to happen Params that follow the command: | Index | Description | | ----: | ---------------------: | | 3 | Time left (in seconds) | | 4-6 | *unused* | """ barrierup = 0x40000012 """Puts an 'instance' barrier up""" partyloot = 0x40000013 # "x of 8 party members are eligible for duty rewards" – params: 3: eligible people, 4: log message param?, 5-6: unused """This command lists how many party members are elible for duty rewards. The number of chests dropped in locked content appears to be hardcoded into the client, and as such doesn't change this packet. Params that follow the command: | Index | Description | | ----: | ----------------: | | 3 | Eligibility count | | 4-6 | *unused* | """ instancesynctime = 0x80000002 """A periodic packet sent to indicate the remaining time in an instance Params that follow the command: | Index | Description | | ----: | ---------------------: | | 3 | Time left (in seconds) | | 4-6 | *unused* | """ @classmethod def name_for_value(cls, value): """Helper class method to return the name of the enum when you already have the value""" if value in cls.__members__.values(): return cls(value).name return 'Unknown'
Ancestors
- enum.IntEnum
- builtins.int
- enum.Enum
Class variables
var barrierdown
-
Takes the 'instance' barrier down
var barrierup
-
Puts an 'instance' barrier up
var clear
-
Emits when a piece of content is 'cleared'
Params that follow the command:
Index Description 3 0x1
if a first-time clear (causes fadeout sequence)4-6 unused var complete
-
When a piece of content ends
Params that follow the command:
Index Description 3 unused 4 Passed to director 5-6 unused var concludevote
-
Concludes the vote and shows the result
Params that follow the command:
Index Description 3 Vote type 4 1 for success; 0 for failure 5 Vote initiator actor ID 6 unknown var dutygate
-
This command sets the state of artificial walls in duties, such as gates in Doma Castle or water walls in Neverreap
var fadein
-
Causes a fade-in to happen
Params that follow the command:
Index Description 3 Time left (in seconds) 4-6 unused var fadeout
-
Instructs the screen to fade to black
var init
-
When a piece of content is initialized
Params that follow the command:
Index Description 3 unused 4 Passed to director 5-6 unused var initvote
-
Promps a vote to be held
Params that follow the command:
Index Description 3 Vote type 4 Vote initiator actor ID 5 unknown 6 unknown var instancesynctime
-
A periodic packet sent to indicate the remaining time in an instance
Params that follow the command:
Index Description 3 Time left (in seconds) 4-6 unused var levelup
-
This command comes in when a player levels up in the duty
Params that follow the command:
Index Description 3 Actor ID 4 Old level 5 New level 6 unused var newtoduty
-
This command comes in when one or more members in the instance are new to the duty
var noclue
var partyinvite
-
Sent when you invite someone to the party
Params that follow the command:
Index Description 3 Log message id? 4 Log message param? 5-6 unused var partyloot
-
This command lists how many party members are elible for duty rewards. The number of chests dropped in locked content appears to be hardcoded into the client, and as such doesn't change this packet.
Params that follow the command:
Index Description 3 Eligibility count 4-6 unused var timer
-
The duty time in seconds
Params that follow the command:
Index Description 3 Duty time (in seconds) 4-6 unused
Static methods
def name_for_value(value)
-
Helper class method to return the name of the enum when you already have the value
Expand source code
@classmethod def name_for_value(cls, value): """Helper class method to return the name of the enum when you already have the value""" if value in cls.__members__.values(): return cls(value).name return 'Unknown'