Skip to content
RF DataData reference
RU

Characters and creatures

Monsters

Monsters, special attacks, lines, loot

Total 156 Known 104 Derived 4 Unused 48

Overview

A monster is a composite entity: a MonsterCharacter.dat row, names in MonsterCharacter_str.dat, special attacks in MonsterCharacterAI.dat, lines in MobMessage_str.dat, loot in ItemLooting.dat and spawn in map files. The client extract — section 3 of Character.edf, names in NDCharacter.edf, lines in NDMsgMonster.edf — is derived entirely from the server files.

How it works

  • Identity is the code m_strCode (5 hex characters, e.g. 09407): quests, spawn, loot, retinue and _dummy.spt reference it. The row position m_dwIndex goes to the client in packets: the client finds the Character.edf record by index, so the row order of the server and the client must match.
  • Loot (ItemLooting.dat): a monster's rows are consecutive, the link is the first row with its code. m_nLootRate is the chance of one roll out of 2³¹, m_nOperationCount the number of rolls, m_nLootListCount how many of the first 200 slots take part in the choice (the server recounts up to the first "0"); an unknown item code — the server does not start.
  • Special attacks (MonsterCharacterAI.dat) are applied by conditions from the monster record; emotions are “condition, code” slots: a phrase from a MobMessage_str set, an animation or nothing.
  • HP regeneration, zone tethering and no experience per hit — only with the boss flag; m_fEmoType > 5 is aggressive, while the aggression icon in the client comes from m_fOffensiveRate; m_nViewAngleCap is not a view angle but a defence weakening type.
  • The hit sound and spark are set by m_nAttEffType and m_nDefEffType (client only); the model is found by code through Resource.edf (the “Models” category).
  • On a Sirin server monster attacks are computed in Lua — attack fields may be overridden there.

What matters when editing

  • Code ≤ 5 characters, level > 0, code and index unique; special attack, child and line set codes exist.
  • HP above 65 535 requires 32-bit packets.
  • The second loot block of some monsters (a repeated code) is invisible to the server — it is kept as is with a warning.

Server reads of MonsterCharacter.dat — the digest (monsters.md §3, search dataflow\flow2.py: CMonster, m_pMonRec, GetRecord) and reads/MonsterCharacter.json (srvflow.py — only records from GetRecord). The client extract is block 3 of Character.edf (the “classes” domain).

Files of the category

5 in the registry
FileSideFormatLevelCorporaRecordDigestNote
script\ItemLooting.datserverdatready for fullAoP ✓, GU ✓, Sirin ✓AoP 1684, GU 1684, Sirin 1684monsters.mdmonsters.md §6.2
script\MobMessage_str.datserverdatready for fullAoP ✓, GU ✓, Sirin ✓AoP 230472, GU 281672, Sirin 230472monsters.md, localization.mdlines: 9 languages × 10 phrases (AoP), 11 × 10 (GU); monsters.md §5
script\MonsterCharacter.datserverdatready for fullAoP ✓, GU ✓, Sirin ✓AoP 2484, GU 2484, Sirin 2484monsters.mdmonsters.md §3
script\MonsterCharacterAI.datserverdatready for fullAoP ✓, GU ✓, Sirin ✓AoP 176, GU 176, Sirin 176monsters.mdmonsters.md §4; schema Monster_Sp.strs
DataTable\<language>\NDMsgMonster.edfclientedfderivedAoP ✓ (en-ph, ru-ru), GU ✓ (en-gb, ru-ru), Sirin ✓ (en-gb, ru-ru)AoP 88, GU 88, Sirin 88monsters.mdDerived from: MobMessage_str.dat.

“ready for full” — the format is understood and the fields are described; “derived” — the file is assembled from another; “opaque” — the format is not fully known; “postponed” and “out of scope” — the studio does not edit the file.

Sections of the category

The files of the category are split into groups; every group and subgroup has its own page with the fields of its files only.

Monsters

script\MonsterCharacter.dat

Total 126 Known 80 Derived 0 Unused 46

Special attacks

script\MonsterCharacterAI.dat

Total 14 Known 14 Derived 0 Unused 0

Loot

script\ItemLooting.dat

Total 7 Known 6 Derived 0 Unused 1

Lines

DataTable\<language>\NDMsgMonster.edf; script\MobMessage_str.dat

Total 9 Known 4 Derived 4 Unused 1

Unused parameters

Fields that neither the server nor the client reads. For each: why it was decided so and where that was established. The editor keeps their bytes as they are.

DataTable\<language>\NDMsgMonster.edf client file

Record: group (88 bytes)

OffsetFieldWhy unusedData
+0x02Cpointers ×10
unused: the loader 005DF9D0 writes the addresses of allocated strings here and does not read the file values (almost all 0 in AoP)
monsters.md §5
—

script\ItemLooting.dat server file

OffsetFieldWhy unusedData
+0x048m_nLootTime
never read
monsters.md §6.2: “m_nLootTime is not read in any function working with the table (1400F3F50, 1400E7EE0 …)”; does not go to the client
always 0

script\MonsterCharacter.dat server file

OffsetFieldWhy unusedData
+0x0D4m_nToCombatTime
dead — section “3.7 Fields the server does not read”
monsters.md §3.7: digest — “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis; this is “not found”, not a strict pro…”; does not go to the client file (block 3 of Character.edf is fully mapped, monsters.md §7.1)
2 values; most often 10000 (98%)
+0x0F0m_nMaxMoveArea
dead — section “3.7 Fields the server does not read”
monsters.md §3.7: digest — “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis; this is “not found”, not a strict pro…”; does not go to the client file (block 3 of Character.edf is fully mapped, monsters.md §7.1)
3 values; most often 0 (80%)
+0x0FCm_fTarDecType
dead — section “3.7 Fields the server does not read”
monsters.md §3.7: digest — “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis; this is “not found”, not a strict pro…”; does not go to the client file (block 3 of Character.edf is fully mapped, monsters.md §7.1)
always 0
+0x108m_nUglierType
dead — section “3.7 Fields the server does not read”
monsters.md §3.7: digest — “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis; this is “not found”, not a strict pro…”; does not go to the client file (block 3 of Character.edf is fully mapped, monsters.md §7.1)
always -1
+0x120m_nDnLooting
dead — section “3.7 Fields the server does not read”
monsters.md §3.7: digest — “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis; this is “not found”, not a strict pro…”; does not go to the client file (block 3 of Character.edf is fully mapped, monsters.md §7.1)
2 values; most often 1 (74%)
+0x154m_bUseDefence
dead — section “3.7 Fields the server does not read”
monsters.md §3.7: digest — “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis; this is “not found”, not a strict pro…”; does not go to the client file (block 3 of Character.edf is fully mapped, monsters.md §7.1)
always 0
+0x53Cm_fForceLevel
dead — section “3.7 Fields the server does not read”
monsters.md §3.7: digest — “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis; this is “not found”, not a strict pro…”; does not go to the client file (block 3 of Character.edf is fully mapped, monsters.md §7.1)
3 values; most often 1 (82%)
+0x540m_fForceMastery
dead — section “3.7 Fields the server does not read”
monsters.md §3.7: digest — “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis; this is “not found”, not a strict pro…”; does not go to the client file (block 3 of Character.edf is fully mapped, monsters.md §7.1)
always 1
+0x544m_fForceAttStd
dead — section “3.7 Fields the server does not read”
monsters.md §3.7: digest — “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis; this is “not found”, not a strict pro…”; does not go to the client file (block 3 of Character.edf is fully mapped, monsters.md §7.1)
always 1
+0x548m_strAttTechID1
dead — section “3.7 Fields the server does not read”
monsters.md §3.7: digest — “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis; this is “not found”, not a strict pro…”; does not go to the client file (block 3 of Character.edf is fully mapped, monsters.md §7.1)
always 1
+0x588m_fAttTech1UseProb
dead — section “3.7 Fields the server does not read”
monsters.md §3.7: digest — “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis; this is “not found”, not a strict pro…”; does not go to the client file (block 3 of Character.edf is fully mapped, monsters.md §7.1)
always 1
+0x58Cm_fAttTechID1MotionTime
dead — section “3.7 Fields the server does not read”
monsters.md §3.7: digest — “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis; this is “not found”, not a strict pro…”; does not go to the client file (block 3 of Character.edf is fully mapped, monsters.md §7.1)
always 1
+0x590m_strAttTechID2
dead — section “3.7 Fields the server does not read”
monsters.md §3.7: digest — “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis; this is “not found”, not a strict pro…”; does not go to the client file (block 3 of Character.edf is fully mapped, monsters.md §7.1)
always 1
+0x5D0m_fAttTech2UseProb
dead — section “3.7 Fields the server does not read”
monsters.md §3.7: digest — “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis; this is “not found”, not a strict pro…”; does not go to the client file (block 3 of Character.edf is fully mapped, monsters.md §7.1)
always 1
+0x5D4m_fAttTechID2MotionTime
dead — section “3.7 Fields the server does not read”
monsters.md §3.7: digest — “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis; this is “not found”, not a strict pro…”; does not go to the client file (block 3 of Character.edf is fully mapped, monsters.md §7.1)
always 1
+0x5D8m_strAttTechID3
dead — section “3.7 Fields the server does not read”
monsters.md §3.7: digest — “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis; this is “not found”, not a strict pro…”; does not go to the client file (block 3 of Character.edf is fully mapped, monsters.md §7.1)
always 1
+0x618m_fAttTech3UseProb
dead — section “3.7 Fields the server does not read”
monsters.md §3.7: digest — “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis; this is “not found”, not a strict pro…”; does not go to the client file (block 3 of Character.edf is fully mapped, monsters.md §7.1)
always 1
+0x61Cm_fAttTechID3MotionTime
dead — section “3.7 Fields the server does not read”
monsters.md §3.7: digest — “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis; this is “not found”, not a strict pro…”; does not go to the client file (block 3 of Character.edf is fully mapped, monsters.md §7.1)
always 1
+0x620m_strPSecTechID
dead — section “3.7 Fields the server does not read”
monsters.md §3.7: digest — “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis; this is “not found”, not a strict pro…”; does not go to the client file (block 3 of Character.edf is fully mapped, monsters.md §7.1)
always 1
+0x660m_fPSecTechIDMotionTime
special technique time (“1” everywhere)
monsters.md §3.7: “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis]”
always 1
+0x664m_strMSecTechID
dead — section “3.7 Fields the server does not read”
monsters.md §3.7: digest — “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis; this is “not found”, not a strict pro…”; does not go to the client file (block 3 of Character.edf is fully mapped, monsters.md §7.1)
always 1
+0x6A4m_fMSecTechIDMotionTime
special technique time (“1” everywhere)
monsters.md §3.7: “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis]”
always 1
+0x6C0m_fAttMoTime2
dead — section “3.7 Fields the server does not read”
monsters.md §3.7: digest — “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis; this is “not found”, not a strict pro…”; does not go to the client file (block 3 of Character.edf is fully mapped, monsters.md §7.1)
9 values; most often 2034 (88%)
+0x6E0m_fCopTime
dead — section “3.7 Fields the server does not read”
monsters.md §3.7: digest — “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis; this is “not found”, not a strict pro…”; does not go to the client file (block 3 of Character.edf is fully mapped, monsters.md §7.1)
4 values; most often 5000 (100%)
+0x6F0m_bScaleChange
dead — section “3.7 Fields the server does not read”
monsters.md §3.7: digest — “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis; this is “not found”, not a strict pro…”; does not go to the client file (block 3 of Character.edf is fully mapped, monsters.md §7.1)
2 values; most often 0 (100%)
+0x7E0m_fDamHPStd
dead — section “3.7 Fields the server does not read”
monsters.md §3.7: digest — “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis; this is “not found”, not a strict pro…”; does not go to the client file (block 3 of Character.edf is fully mapped, monsters.md §7.1)
always 1
+0x7F4m_fEspTFProb
dead — section “3.7 Fields the server does not read”
monsters.md §3.7: digest — “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis; this is “not found”, not a strict pro…”; does not go to the client file (block 3 of Character.edf is fully mapped, monsters.md §7.1)
7 values; most often 0 (86%)
+0x7F8m_fTypeCompTerms
dead — section “3.7 Fields the server does not read”
monsters.md §3.7: digest — “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis; this is “not found”, not a strict pro…”; does not go to the client file (block 3 of Character.edf is fully mapped, monsters.md §7.1)
always 0
+0x7FCm_fPSecTechChat
chat fields (*Chat/*ChatProb)
monsters.md §3.7: “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis]”
always 1
+0x800m_fPAttTechChat
chat fields (*Chat/*ChatProb)
monsters.md §3.7: “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis]”
always 1
+0x804m_fEmo0Chat
chat fields (*Chat/*ChatProb)
monsters.md §3.7: “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis]”
always 1
+0x808m_fEmo0ChatProb
chat fields (*Chat/*ChatProb)
monsters.md §3.7: “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis]”
always 1
+0x80Cm_fEmo1Chat
chat fields (*Chat/*ChatProb)
monsters.md §3.7: “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis]”
always 1
+0x810m_fEmo1ChatProb
chat fields (*Chat/*ChatProb)
monsters.md §3.7: “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis]”
always 1
+0x814m_fEmo2Chat
chat fields (*Chat/*ChatProb)
monsters.md §3.7: “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis]”
always 1
+0x818m_fEmo2ChatProb
chat fields (*Chat/*ChatProb)
monsters.md §3.7: “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis]”
always 1
+0x81Cm_fEmo3Chat
chat fields (*Chat/*ChatProb)
monsters.md §3.7: “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis]”
always 1
+0x820m_fEmo3ChatProb
chat fields (*Chat/*ChatProb)
monsters.md §3.7: “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis]”
always 1
+0x824m_fEmo4Chat
chat fields (*Chat/*ChatProb)
monsters.md §3.7: “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis]”
always 1
+0x828m_fEmo4ChatProb
chat fields (*Chat/*ChatProb)
monsters.md §3.7: “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis]”
always 1
+0x82Cm_fAsitReqSteEspChat
chat fields (*Chat/*ChatProb)
monsters.md §3.7: “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis]”
always 1
+0x830m_fAsitReqSteEspChatProb
chat fields (*Chat/*ChatProb)
monsters.md §3.7: “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis]”
always 1
+0x834m_fAsitReqSteHelpChat
chat fields (*Chat/*ChatProb)
monsters.md §3.7: “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis]”
always 1
+0x838m_fAsitReqSteHelpChatProb
chat fields (*Chat/*ChatProb)
monsters.md §3.7: “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis]”
2 values; most often 1 (100%)
+0x83Cm_fAsitReqSteCopChat
chat fields (*Chat/*ChatProb)
monsters.md §3.7: “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis]”
always 1
+0x840m_fAsitReqSteCopChatProb
chat fields (*Chat/*ChatProb)
monsters.md §3.7: “Not a single read found either through record pointers or by offset in CMonster and AI functions [code, data flow analysis]”
always 1
RF Online is a trademark of its owners. The reference is compiled from research for content development. Built 01.11.2026 · field catalog dated 29.10.2026 · Adagio UI 0.5.0