AC Protocol

                         Home - ImpFilter V2 - SpellFilter - Insane-Bot

Welcome to the new Decal AC Protocol home page.  We're currently working on cleaning up the page formatting and making things easier to find, but everything should be working at this point.  Please be patient when loading the Documentation page--it takes a while. 

-- Mekle (Send protocol updates to me at: mekle@insanity-inc.org)

 

20060518 kgober - may 2006 patch

update f7b0/0020 Allegiance Info
update f7b0/0013 Login Character

##########################################################################################

20060216 kgober - add messages

add f7b0/0029 Title List
add f7b0/002b Set Title

##########################################################################################

20051213 kgober - add messages

add f7b1/0044 Raise Vital
add f7b1/0045 Raise Attribute
add f7b1/0046 Raise Skill
add f7b1/0047 Train Skill

##########################################################################################

20051206 Gol/Pea c/o kgober - documentation updates

add/confirm remaining augmentations in DWORDPropertyID enum

##########################################################################################

20051129 Gol c/o kgober - documentation updates

add 0xda-0xec, 0xee, 0xf3, 0xf6 to DWORDPropertyID enum

##########################################################################################

20051121 kgober - miscellaneous fixes

fix some field name conflicts from F74C Animation

##########################################################################################

20051120 kgober - add messages

add f7b1/019c Make Shortcut
add f7b1/019d Remove Shortcut
add f7b1/01e3 Add Spell to Spellbar
add f7b1/01e4 Remove Spell from Spellbar

##########################################################################################

20051020 kgober - miscellaneous fixes/updates

add 0x11 (Rare ID) to DWORDPropertyID enum

##########################################################################################

20051001 kgober - miscellaneous fixes/updates

update CharacterOptionData to end with align dword
update F7E2 Update Resource

##########################################################################################

20050927 kgober - documentation updates

add PropertyType enum
add 2c9/2ca/2cb/2cc to GameEvent enum
add f7b1/00cd Give Item

##########################################################################################

20050925 kgober - add messages

add f7b1/0010 Set AFK Message
add f7b1/0019 Store Item
add f7b1/001a Equip Item
add f7b1/001b Drop Item
update CharacterOptionData with chat window title
update f7b0/00c9 - remove weapUnknown2 double

##########################################################################################

20050924 kgober - miscellaneous updates

add ChatDisplayMask enum
remove "name" attribute from "base" elements
02DD Set Character Skill Level, rename skill -> key, skilldata -> value
02E1 Set Character Skill State, rename skill -> key, state -> value
02E3 Set Character Attribute, rename attr -> key, attrdata -> value
02E7 Set Character Vital, rename vital -> key, vitaldata -> value
02E9 Set Character Current Vital, rename vital -> key
CharacterVectorData, rename skill -> key, skilldata -> value (affects F7B0/0013)

##########################################################################################

20050922 kgober - add messages

add f7b0/02c9 Mild Portal Storm
add f7b0/02ca Heavy Portal Storm
add f7b0/02cb Portal Stormed
add f7b0/02cc End Portal Storm
unretired f7b0/01c8
add boolean property 0x6e Away From Keyboard

##########################################################################################

20050921 kgober - september patch

update CharacterOptionData (affects f7b0/0013 and f7b1/01a1)
update f7b0/0295 Set Turbine Chat Channels

##########################################################################################

20050918 kgober - last big round of fixes/updates

new types:
AttributeData - attribute data from 02e3 and f7b0/0013
VitalData - vital data from 02e7 and f7b0/0013

new messages:
02d1 Set Character Boolean
f7b0/0295 Set Turbine Chat Channels

changed types:
PhysicsData, rename animationSet -> animations
PhysicsData, rename soundSet -> sounds
PhysicsData, rename equipCount -> equippedCount
PhysicsData, rename equipped[].object -> equipped[].item
PhysicsData, change DWORD unknown4_{123} -> float d{xyz} (velocity vector)
PhysicsData, change DWORD unknown8_{123} -> float unknown8_{123}
PhysicsData, change DWORD unknown10_{123} -> float r{xyz} (rotation vector)
SkillData, removed skill member
CharacterVectorData, changed to use AttributeData and VitalData types
CharacterVectorData, rename skills[].skill -> skills[].skilldata
CharacterVectorData, move skills[].skilldata.skill -> skills[].skill
CharacterOptionData, rename fillcomps[].compModel -> fillcomps[].component
CharacterOptionData, rename optionStrings[].optionStringsKey -> optionStrings[].key
CharacterOptionData, rename optionStrings[].optionStringsValue -> optionStrings[].value
MaxVitalID type renamed to VitalID

changed messages:
0024 Destroy Object, rename destroyed -> object
019E Player Kill, rename killee -> killed
02DD Set Character Skill Level, rename skill -> skilldata
02DD Set Character Skill Level, move skilldata.skill -> skill
02E3 Set Character Attribute, changed to use AttributeData type
02E7 Set Character Maximum Vital, changed to use VitalData type
F619 Lifestone Materialize, rename objectID -> object
F625 Change Model, rename dresser -> object
F659 Character Login Failure, rename code -> reason
F74B Toggle Object Visibility, rename character -> object
F74B Toggle Object Visibility, rename totalLogins -> logins
F74C Animation, rename character -> object
F74C Animation, rename numLogins -> logins
F74C Animation, rename numAnims -> index
F74E Jumping, rename source -> object
F74E Jumping, rename direction_1 -> heading
F74E Jumping, rename totalLogins -> logins
F74E Jumping, rename jumpNumber -> sequence
F750 Apply Sound Effect, rename source -> object
F751 Enter Portal Mode, rename count -> sequence
F755 Apply Visual/Sound Effect, rename source -> object
F755 Apply Visual/Sound Effect, rename playSpeed -> speed
F7B0/0013 Login Character, rename inventory[].object -> inventory[].item
F7B0/0013 Login Character, rename inventory[].isContainer -> inventory[].type
F7B0/0013 Login Character, rename equipped[].object -> equipped[].item
F7B0/0013 Login Character, rename equipped[].slots -> equipped[].slot
F7B0/00B4 Read Table of Contents, rename book -> object
F7B0/00B8 Read Page, rename book -> object
F7B0/0196 Set Pack Contents, rename pack -> container
F7B0/01A7 Attack Complete, rename attackCount -> number
F7B0/0202 Trade Accepted, rename tradee -> trader
F7B0/0203 Trade Not Accepted, rename tradee -> trader
F7B0/0205 Trade Cleared, rename clearee -> trader
F7B0/021D Display Dwelling Purchase/Maintenance Panel, rename purchaseItems[].purchaseItem -> purchaseItems[].item
F7B0/021D Display Dwelling Purchase/Maintenance Panel, rename maintenanceItems[].maintenanceItem -> maintenanceItems[].item
F7B0/0264 Update Item Mana Bar, rename object -> item
F7B0/0274 Display Confirmation Panel, rename sequence -> number
F7B0/0276 Confirmation Panel Closed, rename sequence -> number
F7B1/004A Cast Spell on Object, rename object -> target

##########################################################################################

20050914 kgober - miscelleneous updates

updated f7db update object
updated f7b0/01c7
minor documentation update to 02d9 and 02da

##########################################################################################

20050911 kgober - miscellaneous updates

added f7b1/0048 Game Action - Cast Spell
added f7b1/004a Game Action - Cast Spell on Target
added SkillData type
CharacterVectorData type (and by extension f7b0/0013) changed to use SkillData
02dd changed to use SkillData

##########################################################################################

20050910 GKusnick c/o kgober - add F7B0/02C7

added f7b0/02c7 Remove Character Enchantment (Silent)

##########################################################################################

20050909 kgober - miscellaneous updates

added descriptive text to CharacterPropertyData, CharacterVectorData, CharacterOptionData
corrected string vector in CharacterPropertyData, key/string -> key/value
add StringPropertyID 15 and DWORDPropertyID 23 (from GKusnick)

##########################################################################################

20050908 kgober - documentation updates

enum types used only within structs restored -- protocol page shows them now
added summary-exclude attribute to switch elements to be excluded from protocol summary
added more values to GameAction enum
added TurbineChatType enum
f7b0:021d/02be/02c0/02c2 changed to use field rather than base sub-elements
added more values to GameEvent enum

##########################################################################################

20050907 GKusnick c/o kgober - miscellaneous updates

corrected CharacterOptions1
added CharacterOptions2
add DWORDPropertyIDs: 02, 26, 62, 6F, C0, CC
remove DWORDPropertyIDs: 8C
update CharacterOptionData to include CharacterOptions2

##########################################################################################

20050907 kgober - redo F7B0/0013

split monolithic f7b0/0013 into sections, similarly to f745

##########################################################################################

20050906 - kgober - miscellaneous updates

added f7b1/00a1 - Game Action - Materialize
also fix some inbound/outbound attributes in preparation for xslt update

##########################################################################################

20050828 - Lane c/o kgober - added messages

added f7e7 - Dat File Patch List

##########################################################################################

20050823 - kgober - bugfixes, added messages

fixed another error in f7b0/0013
added f7b0/01a8 - Delete Spell from Spellbook
added f7b0/02c1 - Add Spell to Spellbook

##########################################################################################

20050821 - kgober - bugfixes

fixed 2 errors in f7b0/0013

##########################################################################################

20050820 - kgober - miscellaneous fixes

revert GameData struct to old layout until parser can be updated to handle it properly
changed f7e2 to contain full vectors (requires "skip" attribute)
corrected f7de error

##########################################################################################

20050818 - kgober - cleanup mostly done, added messages

added whitespace to make message/type boundaries easier to see in source xml
enum types used only within structs removed -- protocol page doesn't show them anyway
FellowInfo and DwellingItem structs moved to be with friends
in ModelData struct, moved palettes vector out of maskmap (didn't seem to work inside)
reviewed/updated many struct and enum types
removed some types that were not being used
added message f7b0/0147 (Game Event - Group Chat)
changed f7b0/02bd "sourceName" and "source" to "senderName" and "sender" for consistency
added message f7de (Turbine Chat)

##########################################################################################

20050810 - kgober - cleanup (mostly deleting old previously-retired messages)

many changes, notably:

updated derived types used by current messages
deleted derived types not used by current messages
updated/corrected field names
restructure WeenieData structure to allow flags2 to used properly

deleted messages:
000e - was retired pre ac:tod
0026 - was retired pre ac:tod
0028 - was retired pre ac:tod
0029 - was retired pre ac:tod
0033 - was retired pre ac:tod
0043 - was retired pre ac:tod
0057 - was retired pre ac:tod (but not marked as such)
f746 - was retired pre ac:tod
f7b0/001c - was retired pre ac:tod
f7ab - was unknown pre ac:tod, now retired
f7ac - was unknown pre ac:tod, now retired
f7b7 - was unknown pre ac:tod, now retired
f7b8 - was unknown pre ac:tod, now retired
f7bb - was unknown pre ac:tod, now retired
ff33 - was retired pre ac:tod (but not marked as such)

##########################################################################################

20050809 - kgober - cleanup (mostly retiring old messages)

new derived types (structs):
SpellID

changed derived types (structs):
Object -> ObjectID
Position
	delta_x, delta_y, delta_z -> dx, dy, dz
ModelData
	fields changed to members
	ordering of palette fields corrected
	WORDs changed to PackedDWORDs
PhysicsData
	fields changed to members
	flags1 -> flags
	last WORD replaced by align(DWORD)
WeenieData -> GameData
	fields changed to members
	flags2 -> flags1
	model -> type
	unknown_v0_2 -> category
	unknown_v0_3 -> behavior
	flags3 -> flags2
	2 HookType WORDs changed to 1 DWORD

deleted derived types (structs):
ObjectData1 - superceded by ModelData/PhysicsData
ObjectData2 - superceded by GameData

changed derived types (enums):
PhysicsDataFlags - changed from values to masks, changed order to bit-sequential

changed messages:
0037 retired
0057 retired
005e retired
01b5 retired
0229 retired
022c retired
022d retired
022e retired
0237 retired
023b retired
023d retired
023e retired
0240 retired
0241 retired
0243 retired
0244 retired
f62c retired
f65a retired
f745
	ModelData section changed from base to field
	PhysicsData section changed from base to field
	GameData section changed from base to field
f7ab retired
f7ac retired
f7b0/0016 retired
f7b0/0038 retired
f7b0/004c retired
f7b0/004d retired
f7b0/004e retired
f7b0/004f retired
f7b0/0062
	GameData section changed from base to field
f7b0/009c retired
f7b0/009d retired
f7b0/009e retired
f7b0/009f retired
f7b0/00a7 retired
f7b0/00af retired
f7b0/00b0 retired
f7b0/00b1 retired
f7b0/00b3 retired
f7b0/014a retired
f7b0/01a4 retired
f7b0/01a6 retired
f7b0/01ae retired
f7b0/01c8 retired
f7b7 retired
f7b8 retired
f7bb retired
f7c7 retired
f7db
	ModelData section changed from base to field
	GameData section changed from base to field
ff33 retired

deleted messages:
f72b - unknown
f7b0/f643 - this is not an f7b0 message (even though at first glance it looks like it in IDA)
f7b0/f655 - this is not an f7b0 message (even though at first glance it looks like it in IDA)

##########################################################################################

20050807 - kgober c/o hazridi - changes for AC:ToD expansion pack

new primitives:
PackedWORD
PackedDWORD
QWORD
WString

new derived types (structs):
Position - full position/motion structure
Position0 - Position structure with an implied flags value of 0, as used in some messages
ModelData - part 1 of the turbine 'unholy trinity'
PhysicsData  - part 2 of the turbine 'unholy trinity'
WeenieData - part 3 of the turbine 'unholy trinity'
	object type changed from word to PackedDWORD
	icon changed from word to PackedDWORD
	icon overlay & underlay changed from word to PackedDWORD
	align(DWORD) after behavior dword
	0x08000000 section moved to just before 0x00100000
	0x10000000 section moved to just before 0x40000000

removed derived types (structs):
ObjectData1 - split into Object + ModelData + PhysicsData
ObjectData2 - superceded by WeenieData

new derived types (enums):
PositionFlags
PhysicsDataFlags
WeenieDataFlags
WeenieDataFlags2
ObjectCategoryFlags
ObjectBehaviorFlags
EquipMask
CoverageMask
ChatMessageType
DWORDPropertyID
QWORDPropertyID
FlagPropertyID
DoublePropertyID
StringPropertyID
ResourcePropertyID
LinkPropertyID
PositionPropertyID
AttrID
VitalID
SkillID - is a DWORD now! really!
SkillState

new messages:
02bb Local Chat
02bc Local Broadcast
02cd Set Character DWORD
02ce Set Object DWORD
02cf Set Character QWORD
02d2 Set Object Flag
02d6 Set Object String
02d8 Set Object Resource
02d9 Set Character Link
02da Set Object Link
02db Set Character Position
02dd Set Character Skill Level
02e1 Set Character Skill State
02e3 Set Character Attribute
02e7 Set Character Maximum Vital
02e9 Set Character Current Vital
f7b0/0004 Game Event - Message Box
f7b0/02bd Game Event - Tell
f7b0/02be Game Event - Create Fellowship
f7b0/02bf Game Event - Disband Fellowship
f7b0/02c0 Game Event - Add Fellowship Member
f7b0/02c2 Game Event - Add Character Enchantment
f7b0/02c3 Game Event - Remove Character Enchantment
f7b0/02c5 Game Event - Remove Multiple Character Enchantments
f7b0/02c6 Game Event - Remove All Character Enchantments (Silent)
f7b0/02c8 Game Event - Remove Multiple Character Enchantments (Silent)
f7b0/02eb Game Event - Status Message
f7df Start 3D Mode
f7e0 Display Message
f7e1 Server Name
f7e2 Update Resource File

changed messages:
f658 Character List
	add dword at end of message
f745 Create Object
	changed to use new ModelData, PhysicsData and WeenieData structures
f7b0/0013 Game Event - Character Information
	add qword vector (loginMask 0x00000080) after dword vector (loginMask 0x00000001)
f7b0/0020 Game Event - Allegiance Information
	total xp passup dword changed to qword
	online dword moved just before loyalty word
f7b0/0062 Game Event - Use Merchant
	changed to use new WeenieData structure
f7b0/00c9 Game Event - Examine Object
	add qword vector (0x2000 flag) after dword (0x1 flag) vector
	add resource vector (0x1000 flag) after string (0x8 flag) vector
	weapon stats (0x20 flag) moved just after attribute stats (0x100 flag)
	weapon stats skill id changed from word/align4 to dword
	add 3 dwords (0x40 flag) just after weapon stats (0x20 flag)
	level/health stats (0x4 flag1) replaced with cur health / max health
	removed species dword
	removed character stats (0x2 flag1)
f7b0/01b1 Game Event - Inflict Melee Damage
	add dword at end of message
f7b0/01b2 Game Event - Receive Melee Damage
	add 2 dwords (critical hit, unknown) at end of message
f7db Update Object
	changed to use new ModelData and WeenieData structures

messages.xslt changes:
add "xor" attribute to "maskmap" entity