Объявления
Поздравляем
Roman2211


Друзья, если не получается зарегистрироваться, напишите на почту vdv_forever@bk.ru.
Я оторву свою задницу от всех дел и обязательно Вас активирую! :smile10:
Добро пожаловать на геройский форум! :smile25:

База данных IDA от void17

Герои Меча и Магии III: Возрождение Эрафии, Герои Меча и Магии III Дыхание Смерти, Герои Меча и Магии III Клинок Армагеддона, Герои Меча и Магии III Хроники Героев
offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5587
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2185 раз.

Re: База данных IDA от void17

Сообщение AlexSpl » 16 дек 2021, 14:33

Это очень полезная находка. Если такая инфа есть для всех классов, смысловой разбор декомпилята превратится в сказку :smile20: Я ранее обращал внимание на перечислители/разные константы в самой базе IDA (см. строки вначале базы, сразу после информации о сегменте .text), но даже и не подумал посмотреть другие секции, которые IDA не показывает, в шестнадцатеричном редакторе :smile14:

Насчёт очереди не ошибся:

Код: Выделить всё
numSpellInfluence
spellInfluence
spell_level
TSpellQueue SpellInfluenceQueue

Как видно, нестандартные типы (пользовательские) даже не кодируются, а идут прямо перед именами полей :smile20:

У нас сейчас:

Код: Выделить всё
int turnsToNextMove;
int activeSpellsNumber;
int activeSpellDuration[81];
int activeSpellMastery[81];
std::deque spellDeque;
float colorSaturation;
int retaliations;

Оригинальные имена:

Код: Выделить всё
expected_move_order
numSpellInfluences
spellInfluence
spell_level
TSpellQueue SpellInfluenceQueue
PaletteEffect
retaliationCount

Я думаю, в большинстве случаев порядок полей будет совпадать, но кое-где, конечно, различия будут. Это же SoD всё-таки.
Вернуться к началу

offlineАватара пользователя
void_17  
имя: имя
Ветеран
Ветеран
 
Сообщения: 548
Зарегистрирован: 25 апр 2021, 15:05
Откуда: Оттуда
Пол: Мужчина
Поблагодарили: 132 раз.

Re: База данных IDA от void17

Сообщение void_17 » 16 дек 2021, 15:39

Я ориентируюсь на RoE сейчас. Поэтому не страшно. КСТАААААААТИ насчет RoE.
Угадайте что. Ковырял разные версии героев. И думал надежда на один лишь дримкаст, ан-нет, смотрите что есть!

Изображение

Изображение

dotemu(Разработчики Heroes 3: HD Edition) забыли убрать дебажные символы на версии для андроида!
Весь кайф в том, что IDA умеет декомпилировать little endian ARM. Из недостатков пожалуй отличие от оригинальных структур и классов и еще огромное количество встроенных функций, прямо как на пк. Поэтому дримкаст все еще актуален, но тем не менее.

Короче, качайте и смотрите сами: https://drive.google.com/file/d/1zA5cjR ... sp=sharing
Вернуться к началу

offlineАватара пользователя
void_17  
имя: имя
Ветеран
Ветеран
 
Сообщения: 548
Зарегистрирован: 25 апр 2021, 15:05
Откуда: Оттуда
Пол: Мужчина
Поблагодарили: 132 раз.

Re: База данных IDA от void17

Сообщение void_17 » 16 дек 2021, 15:45

AlexSpl писал(а):

Это очень полезная находка. Если такая инфа есть для всех классов, смысловой разбор декомпилята превратится в сказку :smile20: Я ранее обращал внимание на перечислители/разные константы в самой базе IDA (см. строки вначале базы, сразу после информации о сегменте .text), но даже и не подумал посмотреть другие секции, которые IDA не показывает, в шестнадцатеричном редакторе :smile14:


Хз по какому принципу IDA их там вначале ставит, но могу сказать, что их там очень мало, к тому же ими пользоваться неудобно, половина символов слетается просто. Я нарыл кучу в последних сегментах. Значение константы enum-а лежит в двух байтах от символа(см. пикрил)
 
Изображение


Вот, например одна из оригинальных enum-ов

Код: Выделить всё
enum TSampleID {
WALK_SAMPLE = 0,
ATTACK_SAMPLE = 1,
WINCE_SAMPLE = 2,
SHOOT_SAMPLE = 3,
DIE_SAMPLE = 4,
DEFEND_SAMPLE = 5,
PRE_WALK_SAMPLE = 6,
POST_WALK_SAMPLE = 7,
MAX_SAMPLE = 8,
};


 
Кстати вот так выглядит оригинальная структура SMonFrameInfo:
Код: Выделить всё
struct SMonFrameInfo {
int army_type; //0
int x; //4
int y; //8
int facing; //12
int dest_x; //16
int dest_y; //20
short missile[8]; //24
int start_x; //44
int start_y; //46
int army_dir; //50
int missile_frame; //54
}

в SoD это смещение 0x110 класса army, в RoE не HD это 0xF8.
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5587
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2185 раз.

Re: База данных IDA от void17

Сообщение AlexSpl » 16 дек 2021, 16:13

Короче, вспомнил я про скрипт pe_sections.idc и расковырял debug_entry_0001 экзешника от Dreamcast:

Тут, походу есть всё :smile20:
Код: Выделить всё
.rdata:001AEF58 ; public: static unsigned char const * const combatManager::moatCell
.rdata:001AEF58 ?moatCell@combatManager@@2QBEB:.data.b  h'B
.rdata:001AEF58                                         ; DATA XREF: combatManager::SetupAndLoadObstacles(void)+16A↑o
.rdata:001AEF58                                         ; combatManager::SetupAndLoadObstacles(void):off_7175C↑o ...
.rdata:001AEF59                 .data.b h'1C
.rdata:001AEF5A                 .data.b h'2C ; ,
.rdata:001AEF5B                 .data.b h'3D ; =
.rdata:001AEF5C                 .data.b h'4D ; M
.rdata:001AEF5D                 .data.b h'5F ; _
.rdata:001AEF5E                 .data.b h'6F ; o
.rdata:001AEF5F                 .data.b h'81 ; Ѓ
.rdata:001AEF60                 .data.b h'92 ; ’
.rdata:001AEF61                 .data.b h'A4 ; ¤
.rdata:001AEF62                 .data.b h'B5 ; µ
.rdata:001AEF63                 .data.b    0
.rdata:001AEF64 ; public: static unsigned char const * const combatManager::moat2Cell
.rdata:001AEF64 ?moat2Cell@combatManager@@2QBEB:.data.b  h'A
.rdata:001AEF64                                         ; DATA XREF: combatManager::IsInMoat(int,int *)+4E↑o
.rdata:001AEF64                                         ; combatManager::RaiseSkeletons(int):off_745E0↑o ...
.rdata:001AEF65                 .data.b h'1B
.rdata:001AEF66                 .data.b h'2B ; +
.rdata:001AEF67                 .data.b h'3C ; <
.rdata:001AEF68                 .data.b h'4C ; L
.rdata:001AEF69                 .data.b h'5E ; ^
.rdata:001AEF6A                 .data.b h'6E ; n
.rdata:001AEF6B                 .data.b h'80 ; Ђ
.rdata:001AEF6C                 .data.b h'91 ; ‘
.rdata:001AEF6D                 .data.b h'A3 ; Ј
.rdata:001AEF6E                 .data.b h'B4 ; ґ
.rdata:001AEF6F                 .data.b    0

Перед Вами структуры со смещениям и размеры полей. Это просто массивы moatCell и moat2Cell.

Оригинальные названия модификаторов:

Код: Выделить всё
.rdata:001B12FC learning_factor:.data.b    0            ; DATA XREF: hero::GetExperienceBonusFactor(void)↑o
.rdata:001B12FC                                         ; hero::GetIntelligenceFactor(void):off_E5AE8↑o
.rdata:001B12FD                 .data.b    0
.rdata:001B12FE                 .data.b    0
.rdata:001B12FF                 .data.b    0
.rdata:001B1300                 .data.b h'CD ; Н
.rdata:001B1301                 .data.b h'CC ; М
.rdata:001B1302                 .data.b h'4C ; L
.rdata:001B1303                 .data.b h'3D ; =
.rdata:001B1304                 .data.b h'CD ; Н
.rdata:001B1305                 .data.b h'CC ; М
.rdata:001B1306                 .data.b h'CC ; М
.rdata:001B1307                 .data.b h'3D ; =
.rdata:001B1308                 .data.b h'9A ; љ
.rdata:001B1309                 .data.b h'99 ; ™
.rdata:001B130A                 .data.b h'19
.rdata:001B130B                 .data.b h'3E ; >
.rdata:001B130C logistics_factor:.data.b    0           ; DATA XREF: hero::GetLogisticsFactor(void)↑o
.rdata:001B130C                                         ; hero::GetIntelligenceFactor(void):off_E5AF0↑o
.rdata:001B130D                 .data.b    0
.rdata:001B130E                 .data.b    0
.rdata:001B130F                 .data.b    0
.rdata:001B1310                 .data.b h'CD ; Н
.rdata:001B1311                 .data.b h'CC ; М
.rdata:001B1312                 .data.b h'CC ; М
.rdata:001B1313                 .data.b h'3D ; =
.rdata:001B1314                 .data.b h'CD ; Н
.rdata:001B1315                 .data.b h'CC ; М
.rdata:001B1316                 .data.b h'4C ; L
.rdata:001B1317                 .data.b h'3E ; >
.rdata:001B1318                 .data.b h'9A ; љ
.rdata:001B1319                 .data.b h'99 ; ™
.rdata:001B131A                 .data.b h'99 ; ™
.rdata:001B131B                 .data.b h'3E ; >

Тип float (4 байта), думаю, все узнали.

Таблицы vftable:

Код: Выделить всё
.rdata:001AE054 ; const CGameChatEdit::`vftable'
.rdata:001AE054 ??_7CGameChatEdit@@6B@:.data.l ??_GCGameChatEdit@@UAAPAXI@Z
.rdata:001AE054                                         ; DATA XREF: CGameChatEdit::CGameChatEdit(int,int,int,int,int,char *,char *,int,font::EJustify,char *,int,int,int,int,int,int)+5E↑o
.rdata:001AE054                                         ; CGameChatEdit::CGameChatEdit(int,int,int,int,int,char *,char *,int,font::EJustify,char *,int,int,int,int,int,int):off_140C0↑o
.rdata:001AE054                                         ; CGameChatEdit::`scalar deleting destructor'(uint)
.rdata:001AE058                 .data.l ?Main@textEntryWidget@@UAAHAAUmessage@@@Z ; textEntryWidget::Main(message &)
.rdata:001AE05C                 .data.l ?zBufferDraw@textWidget@@UBAXPAGH@Z ; textWidget::zBufferDraw(ushort *,int)
.rdata:001AE060                 .data.l ?Draw@textEntryWidget@@UBAXXZ ; textEntryWidget::Draw(void)
.rdata:001AE064                 .data.l ?GetRealHeight@widget@@UBAHXZ ; widget::GetRealHeight(void)
.rdata:001AE068                 .data.l ?GetRealWidth@widget@@UBAHXZ ; widget::GetRealWidth(void)
.rdata:001AE06C                 .data.l ?process_hover@widget@@UAAXXZ ; widget::process_hover(void)
.rdata:001AE070                 .data.l ?Dim@textWidget@@UBAXXZ ; textWidget::Dim(void)
.rdata:001AE074                 .data.l ?enable@widget@@UAAX_N@Z ; widget::enable(bool)
.rdata:001AE078                 .data.l ?OnSetFocus@textEntryWidget@@UAAXXZ ; textEntryWidget::OnSetFocus(void)
.rdata:001AE07C                 .data.l ?OnKillFocus@textEntryWidget@@UAAXXZ ; textEntryWidget::OnKillFocus(void)
.rdata:001AE080                 .data.l ?SetText@textEntryWidget@@UAAXPBD@Z ; textEntryWidget::SetText(char const *)
.rdata:001AE084                 .data.l ?SetFocus@textEntryWidget@@UAAX_N@Z ; textEntryWidget::SetFocus(bool)
.rdata:001AE088                 .data.l ?OnKeyPress@CGameChatEdit@@UAAHAAUmessage@@@Z ; CGameChatEdit::OnKeyPress(message &)
.rdata:001AE08C                 .data.l ?IgnoreKey@CChatEdit@@UAA_NAAUmessage@@@Z ; CChatEdit::IgnoreKey(message &)
.rdata:001AE090                 .data.l ?SetAutoDraw@textEntryWidget@@UAAX_N@Z ; textEntryWidget::SetAutoDraw(bool)
.rdata:001AE094                 .data.l ?SaveBackground@textEntryWidget@@MBAXXZ ; textEntryWidget::SaveBackground(void)
.rdata:001AE098                 .data.l ?UpdateScreen@CChatEdit@@UAAXXZ ; CChatEdit::UpdateScreen(void)
.rdata:001AE09C                 .data.l ?OnEnter@CChatEdit@@UAAHUmessage@@@Z ; CChatEdit::OnEnter(message)
.rdata:001AE0A0                 .data.l ?OnEscape@CGameChatEdit@@UAAHUmessage@@@Z ; CGameChatEdit::OnEscape(message)
.rdata:001AE0A4                 .data.l ?OnFunctionKey@CChatEdit@@UAAHUmessage@@H@Z ; CChatEdit::OnFunctionKey(message,int)
.rdata:001AE0A8                 .data.l ?IsOpen@CChatEdit@@UAA_NXZ ; CChatEdit::IsOpen(void)
.rdata:001AE0AC                 .data.l _purecall
.rdata:001AE0B0                 .data.l ?SendChatCleanup@CGameChatEdit@@UAAXXZ ; CGameChatEdit::SendChatCleanup(void)
.rdata:001AE0B4                 .data.l ?Activate@CGameChatEdit@@UAAXXZ ; CGameChatEdit::Activate(void)
.rdata:001AE0B8 button_keys:    .data.b h'2C ; ,        ; DATA XREF: TAdvMenu::SetSleepImage(int)+6C↑o
.rdata:001AE0B8                                         ; TAdvMenu::SetSleepImage(int):off_13B34↑o
.rdata:001AE0B9                 .data.b    0
.rdata:001AE0BA                 .data.b    0
.rdata:001AE0BB                 .data.b    0
.rdata:001AE0BC                 .data.b h'11
.rdata:001AE0BD                 .data.b    0
.rdata:001AE0BE                 .data.b    0
.rdata:001AE0BF                 .data.b    0

Хотя это уже и так видела IDA.

Блин, рано обрадовался :smile29: Тут всё равно нет секции с именами полей. Добавилась только новая секция HEADER, но нам она не поможет.
Последний раз редактировалось AlexSpl 16 дек 2021, 16:35, всего редактировалось 2 раз(а).
Вернуться к началу

offlineАватара пользователя
void_17  
имя: имя
Ветеран
Ветеран
 
Сообщения: 548
Зарегистрирован: 25 апр 2021, 15:05
Откуда: Оттуда
Пол: Мужчина
Поблагодарили: 132 раз.

Re: База данных IDA от void17

Сообщение void_17 » 16 дек 2021, 16:30

Ну не знаю, я изначально просто при дизассемблировании Dreamcast-ного экзешника абсолютно весь файл грузил кроме мусора в самом начале. У меня были и таблицы виртуальных методов и прочее, просто додумался только сегодня ковырять в hex-редакторе то, что IDA не заметила. (эХ, научить бы ее такие вещи автоматически грузить, а то приходится изощраться как в моем гайде...)

А вообще, у нас теперь еще и база HD Edition есть! :smile16:
Вернуться к началу

offlineАватара пользователя
void_17  
имя: имя
Ветеран
Ветеран
 
Сообщения: 548
Зарегистрирован: 25 апр 2021, 15:05
Откуда: Оттуда
Пол: Мужчина
Поблагодарили: 132 раз.

Re: База данных IDA от void17

Сообщение void_17 » 16 дек 2021, 16:31

AlexSpl писал(а):

Блин, рано обрадовался :smile29: Тут всё равно нет секции с именами полей.


Не там смотрите просто. Они по адресам 0x7..... - 0x8..... лежат.
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5587
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2185 раз.

Re: База данных IDA от void17

Сообщение AlexSpl » 16 дек 2021, 16:39

Да, плохо, что IDA не подхватывает и автоматически не создаёт типы из этой инфы. Так ковырять вручную придётся.
Вернуться к началу

offlineАватара пользователя
void_17  
имя: имя
Ветеран
Ветеран
 
Сообщения: 548
Зарегистрирован: 25 апр 2021, 15:05
Откуда: Оттуда
Пол: Мужчина
Поблагодарили: 132 раз.

Re: База данных IDA от void17

Сообщение void_17 » 16 дек 2021, 16:41

По-другому никак. И да, скрипт не напишешь, так как там куча косяков и нюансов и все равно приходится подглядывать в большое количество источников. Но это того стоит. Однозначно.
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5587
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2185 раз.

Re: База данных IDA от void17

Сообщение AlexSpl » 16 дек 2021, 16:45

А список файлов уже видели в конце:

Код: Выделить всё
C:\WCEDreamcast\inc\kfuncs.h..\stlport\stl_alloc.hE:\gamedcs\terrain.hE:\gamedcs\drawing.cppE:\gamedcs\struct.hE:\gamedcs\Army.hE:\gamedcs\HexCell.h#E:\gamedcs\CombatControlSubWindow.hE:\gamedcs\CSpriteFrame.hE:\gamedcs\CSprite.hE:\gamedcs\remote.hE:\gamedcs\terrain.h"E:\gamedcs\dimensiondoorwindow.cpp
Вернуться к началу

offlineRoseKavalier  
Мастер
Мастер
 
Сообщения: 331
Зарегистрирован: 23 сен 2017, 17:00
Пол: Не указан
Поблагодарили: 234 раз.

Re: База данных IDA от void17

Сообщение RoseKavalier » 16 дек 2021, 16:47

Posted to Discord. Quick script, probably some errors.
Код: Выделить всё
offset,name,type,prefix,suffix
0x0000,bShowAttackFrames,0x20,0x11,0x31405
0x0001,bShowRangeFrames,0x20,0x10,0x31405
0x0002,iShowAttackFrameType,0x10,0x14,0x31405
0x0003,iNextFrameType,0x10,0xe,0x31405
0x0004,iRemainingFramesToPlay,0x10,0x16,0x31405
0x0008,iDrawPriority,0x74,0xd,0x31405
0x000c,bShowTroopCount,0x20,0xf,0x31405
0x0010,groupToAttack,0x74,0xd,0x31405
0x0014,indexToAttack,0x74,0xd,0x31405
0x0018,attackLimit,0x74,0xb,0x31405
0x001c,targetCellIndex,0x74,0xf,0x31405
0x0020,bShowPowEffect,0x20,0xe,0x31405
0x0024,iMirrorSourceIndex,0x74,0x12,0x31405
0x0028,iMirrorDestIndex,0x74,0x10,0x31405
0x002c,iRoundsLeftBeforeVanish,0x74,0x17,0x31405
0x0030,IsMoving,0x20,0x8,0x31405
0x0031,LetsPretendImNotHere,0x20,0x14,0x31405
0x0034,armyType,0x1bac,0x8,0x31405
0x0038,gridIndex,0x74,0x9,0x31405
0x003c,currFrameType,0x74,0xd,0x31405
0x0040,currFrameIndex,0x74,0xe,0x31405
0x0044,facing,0x74,0x6,0x31405
0x0048,walkDirection,0x74,0xd,0x31405
0x004c,numTroops,0x74,0x9,0x31405
0x0050,numTroopsToShowOverride,0x74,0x17,0x31405
0x0054,numTroopsBattleResurrected,0x74,0x1a,0x31405
0x0058,residualDamage,0x74,0xe,0x31405
0x005c,origPos,0x74,0x7,0x31405
0x0060,origNumTroops,0x74,0xd,0x31405
0x0064,origSpeed,0x74,0x9,0x31405
0x0068,origWalkCycleTime,0x74,0x11,0x31405
0x006c,origHitPoints,0x74,0xd,0x31405
0x0070,iLuckStatus,0x74,0xb,0x31405
0x0074,sMonInfo,0x1a9a,0x8,0x31405
0x00d4,show_fire_shield,0x20,0x10,0x31405
0x00d5,bSomeUnitsDamaged,0x20,0x11,0x31405
0x00d6,bAllUnitsKilled,0x20,0xf,0x31405
0x00d8,iPostPowSpellToCast,0x1b61,0x13,0x31405
0x00dc,hitByCreature,0x20,0xd,0x31405
0x00e0,group,0x74,0x5,0x31405
0x00e4,index,0x74,0x5,0x31405
0x00e8,iLastFidgetTime,0x22,0xf,0x31405
0x00ec,ySpecialMod,0x74,0xb,0x31405
0x00f0,xSpecialMod,0x74,0xb,0x31405
0x00f4,bPowSequenceComplete,0x74,0x14,0x31405
0x00f8,yModify,0x410,0x7,0x31405
0x00fc,sMonFrameInfo,0x1fe4,0xd,0x31405
0x0150,stdIcon,0x1a63,0x7,0x31405
0x0154,missileIcon,0x1a63,0xb,0x31405
0x0158,image_height,0x74,0xc,0x31405
0x015c,armySample,0x1fe5,0xa,0x31405
0x017c,expected_move_order,0x12,0x13,0x31405
0x0180,numSpellInfluences,0x74,0x12,0x31405
0x0184,spellInfluence,0x1fe6,0xe,0x31405
0x02c4,spell_level,0x1fe7,0xb,0x1408f1
0x0b00,SpellQueue,0x1fe800,0x54,0x31405
0x0404,SpellInfluenceQueue,0x1fe8,0x13,0x31405
0x042c,PaletteEffect,0x40,0xd,0x31405
0x0430,retaliationCount,0x74,0x10,0x31405
0x0434,blessFactor,0x12,0xb,0x31405
0x0438,curseFactor,0x12,0xb,0x31405
0x043c,antiMagicSpellLevel,0x74,0x13,0x31405
0x0440,bloodlustBonus,0x74,0xe,0x31405
0x0444,precisionBonus,0x74,0xe,0x31405
0x0448,weaknessPenalty,0x74,0xf,0x31405
0x044c,toughskinBonus,0x74,0xe,0x31405
0x0450,disruptiverayPenalty,0x74,0x14,0x31405
0x0454,prayerBonus,0x74,0xb,0x31405
0x0458,mirthBonus,0x74,0xa,0x31405
0x045c,sorrowPenalty,0x74,0xd,0x31405
0x0460,fortuneBonus,0x74,0xc,0x31405
0x0464,misfortunePenalty,0x74,0x11,0x31405
0x0468,slayerLevel,0x74,0xb,0x31405
0x046c,joustBonus,0x74,0xa,0x31405
0x0470,counterstrokeBonus,0x74,0x12,0x31405
0x0474,frenzyAdjust,0x40,0xc,0x31405
0x0478,blindFactor,0x40,0xb,0x31405
0x047c,fire_shield_strength,0x40,0x14,0x31405
0x0480,poison_penalty,0x40,0xe,0x31405
0x0484,protectionFromAirFactor,0x40,0x17,0x31405
0x0488,protectionFromFireFactor,0x40,0x18,0x31405
0x048c,protectionFromWaterFactor,0x40,0x19,0x31405
0x0490,protectionFromEarthFactor,0x40,0x19,0x31405
0x0494,shieldDamageFactor,0x40,0x12,0x31405
0x0498,airShieldDamageFactor,0x40,0x15,0x31405
0x049c,residualBlindness,0x20,0x11,0x31405
0x049d,residualParalyze,0x20,0x10,0x31405
0x04a0,backlash_chance,0x12,0xf,0x31405
0x04a4,forgetfulness_level,0x1a78,0x13,0x31405
0x04a8,slowPenalty,0x40,0xb,0x31405
0x04ac,tailwindBonus,0x74,0xd,0x31405
0x04b0,diseaseDefensePenalty,0x74,0x15,0x31405
0x04b4,diseaseAttackPenalty,0x74,0x14,0x31405
0x04b8,OnNativeTerrain,0x20,0xf,0x31405
0x04bc,DefendBonus,0x74,0xb,0x21407
Вернуться к началу

Пред.След.

Вернуться в Общий раздел

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2