Персонажи и существа
MAU
Фреймы, детали, патроны и ключи MAU
Обзор
MAU — боевая машина Беллато. Составная сущность: фрейм (одна из 4 строк UnitFrame.dat: Goliath, Catapult, Engineer, Nomad), 6 деталей (по строке из UnitHead, UnitUpper, UnitLower, UnitArms, UnitShoulder, UnitBack), патроны (UnitBullet.dat) и ключ — предмет UnitKeyItem (таблица 19) в инвентаре, связанный с фреймом по m_nFRAType. Клиентские записи Item.edf (группы 0x13, 0x25–0x2B) — производные.
Как работает
- У персонажа 4 слота MAU; состояние слота (фрейм, детали, HP, магазины) хранится у персонажа, а не в ключе. Покупка (23/1) заполняет слот фреймом и деталями по умолчанию
m_strDF*(по коду) и кладёт ключ в инвентарь; MAU продаётся без патронов. - Цены считаются от
m_nStdPriceс налогом расы; валюта фреймаm_nMoney— только 0 (даланты) или 1 (золото): при других значениях клиент показывает цену, а сервер ничего не списывает. - Тюнинг (23/5) проверяет совместимость детали с фреймом (
m_strDefFrame— строка из'0'/'1', значимы первые 4 символа), уровень и мастерство (m_nExpertID* ≤ 5); ремонт (23/7) — поm_nRepPriceи потерянному HP; на Sirin ремонт и атака переписаны в Lua без налога. - Скорость MAU задаёт только клиентский
Item.edf(фрейм+0x9C, детали+0xA0, бустер рюкзака): серверныеm_fMoveRate_Seed,m_fMoveSpdRev,m_fBstSpdна скорость не влияют. - Сопротивления деталей заменяют броню пилота;
m_strEffectIndexпатрона включает особую атаку плечами. - Сервер не читает и в клиент не передаёт
m_fAttGap,m_nProperty,m_bAbr,m_nDurUnitдеталей; эффектыm_nEff1…4сервер не применяет; именаm_strNameв.datне используются — только*_str.dat.
Что важно при правке
- На каждый фрейм — ровно один ключ;
m_strDF*— существующий код или-1; у оружия рук и плеч есть патрон того жеm_nWPType. - В клиент байтом идут
m_fHeight,m_fWidth,m_nLevelLim, мастерство иm_fBstSpd(≤ 255, дробная часть теряется), сопротивления — i16. m_bDestroy = 1илиm_bRepair = 0делают уничтожение MAU окончательным;m_nLevelLim = 100— деталь никто не поставит.
Чтения сервера — mau.md §2.1–2.5 (wflow.py, перенастроенный на таблицы MAU 41–48, и поиск по адресам m_tblUnit*); клиентские записи Item.edf 0x13, 0x25–0x2B — домен «предметы».
Файлы категории
8 в реестре| Файл | Сторона | Формат | Уровень | Корпуса | Запись | Свод | Примечание |
|---|---|---|---|---|---|---|---|
script\UnitArms.dat | сервер | dat | готов к полному | AoP ✓, GU ✓, Sirin ✓ | AoP 516, GU 516, Sirin 516 | mau.md | mau.md §2 |
script\UnitBack.dat | сервер | dat | готов к полному | AoP ✓, GU ✓, Sirin ✓ | AoP 516, GU 516, Sirin 516 | mau.md | mau.md §2 |
script\UnitBullet.dat | сервер | dat | готов к полному | AoP ✓, GU ✓, Sirin ✓ | AoP 356, GU 356, Sirin 356 | mau.md | mau.md §2 |
script\UnitFrame.dat | сервер | dat | готов к полному | AoP ✓, GU ✓, Sirin ✓ | AoP 648, GU 648, Sirin 648 | mau.md | mau.md §2 |
script\UnitHead.dat | сервер | dat | готов к полному | AoP ✓, GU ✓, Sirin ✓ | AoP 516, GU 516, Sirin 516 | mau.md | mau.md §2 |
script\UnitLower.dat | сервер | dat | готов к полному | AoP ✓, GU ✓, Sirin ✓ | AoP 516, GU 516, Sirin 516 | mau.md | mau.md §2 |
script\UnitShoulder.dat | сервер | dat | готов к полному | AoP ✓, GU ✓, Sirin ✓ | AoP 516, GU 516, Sirin 516 | mau.md | mau.md §2 |
script\UnitUpper.dat | сервер | dat | готов к полному | AoP ✓, GU ✓, Sirin ✓ | AoP 516, GU 516, Sirin 516 | mau.md | mau.md §2 |
«готов к полному» — формат разобран и поля описаны; «производный» — файл собирается из другого; «непрозрачный» — формат известен не до конца; «отложен» и «вне рамок» — файл студией не редактируется.
Разделы категории
Файлы категории разбиты на группы; у каждой группы и подгруппы своя страница с полями только её файлов.
Неиспользуемые параметры
Поля, которые не читает ни сервер, ни клиент. Для каждого — почему так решено и где это установлено. Редактор сохраняет их байты как есть.
UnitArms.dat, UnitBack.dat, UnitHead.dat … серверный файл
| Смещ. | Поле | Почему не используется | Данные |
|---|---|---|---|
+0x138 | m_fAttGap | Не читается: GetWeaponAdjust (14003A080) в MAU находит запись рук или плеч, но возвращает константу 1.0 (так же в Lua Sirin) [код]mau.md §2.2: свод — « m_fAttGap | 0x138 | Не читается: GetWeaponAdjust (14003A080) в MAU находит запись рук или плеч, но возвращает константу 1.0 (так же в Lua Sirin) [код]»; в клиентский файл не идёт (детали MAU в Item.edf (0x25–0x2A) сопоставлены, mau.md §3) | всегда 0 |
+0x168 | m_nProperty | Не читается: атака MAU идёт без стихии ( nTol = −1 в 14005C1E0, так же в Sirin) [код]mau.md §2.2: свод — « m_nProperty | 0x168 | Не читается: атака MAU идёт без стихии (nTol = −1 в 14005C1E0, так же в Sirin) [код]»; в клиентский файл не идёт (детали MAU в Item.edf (0x25–0x2A) сопоставлены, mau.md §3) | всегда -1 |
+0x19C | m_nEff1Code | эффект N детали: сервер не читает (mau.md §2.5); клиент AoP не читает блок +0xB2…+0xC7 деталей MAU (items.md §17.6); в AoP везде 0mau.md §2.5, §3.1; items.md §17.6 ( clientflow.py: чтения +0xB2…+0xC4 есть только в ветках других групп) | всегда 0 |
+0x1A0 | m_fEff1Unit | величина эффекта N: см. m_nEff*Code — не читают ни сервер, ни клиентmau.md §2.5, §3.1; items.md §17.6 ( clientflow.py: чтения +0xB2…+0xC4 есть только в ветках других групп) | всегда 0 |
+0x1A4 | m_nEff2Code | эффект N детали: сервер не читает (mau.md §2.5); клиент AoP не читает блок +0xB2…+0xC7 деталей MAU (items.md §17.6); в AoP везде 0mau.md §2.5, §3.1; items.md §17.6 ( clientflow.py: чтения +0xB2…+0xC4 есть только в ветках других групп) | всегда 0 |
+0x1A8 | m_fEff2Unit | величина эффекта N: см. m_nEff*Code — не читают ни сервер, ни клиентmau.md §2.5, §3.1; items.md §17.6 ( clientflow.py: чтения +0xB2…+0xC4 есть только в ветках других групп) | всегда 0 |
+0x1AC | m_nEff3Code | эффект N детали: сервер не читает (mau.md §2.5); клиент AoP не читает блок +0xB2…+0xC7 деталей MAU (items.md §17.6); в AoP везде 0mau.md §2.5, §3.1; items.md §17.6 ( clientflow.py: чтения +0xB2…+0xC4 есть только в ветках других групп) | всегда 0 |
+0x1B0 | m_fEff3Unit | величина эффекта N: см. m_nEff*Code — не читают ни сервер, ни клиентmau.md §2.5, §3.1; items.md §17.6 ( clientflow.py: чтения +0xB2…+0xC4 есть только в ветках других групп) | всегда 0 |
+0x1B4 | m_nEff4Code | эффект N детали: сервер не читает (mau.md §2.5); клиент AoP не читает блок +0xB2…+0xC7 деталей MAU (items.md §17.6); в AoP везде 0mau.md §2.5, §3.1; items.md §17.6 ( clientflow.py: чтения +0xB2…+0xC4 есть только в ветках других групп) | всегда 0 |
+0x1B8 | m_fEff4Unit | величина эффекта N: см. m_nEff*Code — не читают ни сервер, ни клиентmau.md §2.5, §3.1; items.md §17.6 ( clientflow.py: чтения +0xB2…+0xC4 есть только в ветках других групп) | всегда 0 |