Перейти к содержанию

Моддинг Arcanum.exe


Drog Black Tooth

Рекомендуемые сообщения

Опубликовано

Да, это я. Ваш старый друг. Вот, решил тряхнуть стариной, 6 лет прошло как никак. Забрёл на Ваш форум, смотрю, кипит работа, люди даже репак собрали на основе моего патча. Какая честь!

 

Я ближе к концу своей работы интересовался моддингом движка, много рылся в коде через дебаггер. Все остальные файлы уже прочесал, и мой интерес подогревал уже только движок. Вот решил поделиться наработками, дабы не пропало. Да, на Terra-Arcanum есть часть этих записок, но не всё.

 

Заранее извиняюсь за комментарии на английском, привычка.

 

<cмещение>:<что прописать>

 

1BEA14:00 - no sprite mirroring

19CDC4:00 - no sprite mirroring (WorldEd 1.0.6.9)

1C4D0:C3 - no combat music

 

windowed mode:

12411C:00

12439C:00

 

153F00:7D - PCs will display their race icon (or a monster icon) instead of a portrait.

153F04:7D - NPCs will always display their race icon (or a monster icon) instead of a portrait.

153F04:61 - NPCs will always display their portrait even if they're not in your party. (They will display a race/monster icon if they don't have one.)

15A2FD:05, 15A303:90, 15A594:03 - NPCs will display their age.

15A29E:7D, 15A542:7D - PCs won't display race, gender (and age) if they're monster.

 

3D801:00 - PCs will be able to get their resistances above 95 if monster

|-> using NPCs' section, thus the following will be true for PCs as well:

3D80E:EB - NPCs will be able to get their resistances above 95 even if not monster

3D80F:00 - NPCs won't be able to get their resistances above 95 if monster

 

F0ED0:C3 - no footstep sounds

3090D:00 - monsters will have footstep sounds

 

C5F05:EB - no auto melee skill for monsters

C6111:EB - no auto training for melee skill for monsters

C5F06:00 - auto melee skill for all critters

C6112:00 - auto training for melee skill for all critters

 

660AB:EB - no custom damage for monsters

660AC:00 - custom damage for all critters

 

4810:C3, 14A0:EB09 - no starting movies

 

all races selectable:

1454EE:0A

1455EB:0A

145617:0B

14562C:0B

14565A:0B

 

B0FF8:EB - no racial stat bonuses

 

A8FAC:00 - no auto-looting items from the ground for all NPC critters

A8FAB:EB - enables auto-looting for monsters

 

68660:C3 - skip reading (and generating) prototypes

1DF00:C3 - skip reading (and generating) prototypes (WorldEd)

 

B6C80:B8010000 - combat mode is always TB

B6CB0:EB - when you select RT in options, the game doesn't switch to RT if you're in combat

 

normal spell cost for dwarves:

B1687:EB

B16ED:EB

5087F:EB

53345:EB

 

C33A0:00 - no tile limit for broadcast commands

B52CE:EB - no xp per hit

 

//extra HtH damage by spells

 

//OSF_BODY_OF_EARTH, adds normal damage, 5 by default

0xB6815 05

 

//OSF_BODY_OF_FIRE, adds fire damage, 15 by default

0xB682B 0F

 

//OSF_BODY_OF_WATER, adds fatigue damage, 15 by default

0xB683F 0F

 

//OSF_HARDENED_HANDS, adds normal damage, 2 by default

0xB6854 02

 

//backstab damage multiplier when attacking an unaware critter

0xB67C7 0x81 = 5x (default), 0x41 = 3x

 

И немножно массивов:

 

#Stat Tables

 

1B5194: min stats

1B5204: max stats

1B5274: default stats

 

0 stat_strength

1 stat_dexterity

2 stat_constitution

3 stat_beauty

4 stat_intelligence

5 stat_perception

6 stat_willpower

7 stat_charisma

8 stat_carry_weight

9 stat_damage_bonus

10 stat_ac_adjustment

11 stat_speed

12 stat_heal_rate

13 stat_poison_recovery_rate

14 stat_reaction_modifier

15 stat_max_followers

16 stat_magic_tech_aptitude

17 stat_level

18 stat_experience_points

19 stat_alignment

20 stat_fate_points

21 stat_unspent_points

22 stat_magic_points

23 stat_tech_points

24 stat_poison_level

25 stat_age

26 stat_gender

27 stat_race

 

000B1001 Racial max BS modifiers section

 

000B531F Death animations

 

001B0DF8 Section with creatures lists for summons

 

001B0DE0 WP required to buy spells (5 values in a row)

 

001B389C Default art for NPC races (used to generate protos)(11 values in a row)

#00 - human

#01 - dwarf

#02 - halfling

#03 - ogre

#04 - elf

 

001C5170 PC race combos and art section

 

001C6FA0 Race icons (looks in art\interface\interface.mes)(11 values in a row)

 

#Race reaction modifiers (8 values in a row)#

[Pointer to this section: 000C156C]

001B684C Humans

001B686C Dwarves

001B688C Elves

001B68AC Half Elves

001B68CC Gnomes

001B68EC Halflings

001B690C Half Orcs

001B692C Half Ogres

001B694C Dark Elves

001B696C Ogres

001B698C Orcs

 

#BS required for skills (look for BS number in stat.mes)#

001B6F04 Bow

001B6F08 Dodge

001B6F0C Melee

001B6F10 Throwing

001B6F14 Backstab

001B6F18 Pickpocket

001B6F1C Prowling

001B6F20 Spotrap

001B6F24 Gambling

001B6F28 Haggle

001B6F2C Heal

001B6F30 Persuasion

001B6F34 Repair

001B6F38 Firearms

001B6F3C Pick Locks

001B6F40 Disarm Traps

 

001B5168 CP required to buy tech degrees (7 values in a row)

001B5168 IN required to buy tech degrees (7 values in a row)

001B52E4 CP required to raise BS from 0 to 20 (20 values in a row)

001B5334 BE reaction modifiers (20 values in a row)

 

effect.mes max range:

E9A10

E9A1C

E9A2D

E9A3E

E9A4F

E9A60

E9AAC

 

Есть ещё более подробные записки, ссылки на разные участки кода, но они пригодятся только ASM программистам. Выложу по просьбе.

  • 4 недели спустя...
  • 1 месяц спустя...
Опубликовано

Позвольте также рассказать, что в движке удалось раскопать мне:

 

Расход боеприпасов через скрипт:

4A9E2 - тип расходуемого боеприпаса в команде "drain (num) charges from (obj)"

0 - стрелы

1 - пули

2 - батареи

3 - топливо

 

Урон от отравления:

B11D3 = 550 - максимальный порог расчета урона

B11DA = 3 - урон при превышении максимального порога

B11E4 = 200 - порог увеличения наносимого урона

Если уровень яда >= 550, то наносится урон равный 3,

иначе урон равен 1 плюс еще 1 если уровень яда >= 200

 

Пенальти к статам от отравления:

B0698 + B06A0 = 100 - порог увеличения пенальти для Силы

B06CE + B06D6 = 100 - порог увеличения пенальти для Ловкости

B06AD, B06B1 = 3 - предел снижения Силы

B06E3, B06E7 = 3 - предел снижения Ловкости

Похоже, что расчет тут ведется не делением, а каким-то образом

за счет умножения. Поэтому одно значение задают два числа.

 

Частота выведения яда:

B13FC = 120000 - частота начальная

B12BC = 120000 - частота при отравлении

 

Максимальный уровень Отравления:

1B5264 = 1000

 

Скорость лечения здоровья:

B0856 + B0860 = 3 - порог увеличения скорости лечения

 

Максимум Силы и Телосложения для Полу Орков:

B100B = 21

 

Максимальное число Очков Развития:

1B5258 = 56

 

Название быстрого сохранения:

19A2A0 = Auto-Save

 

Уровни, необходимые для изучения заклинаний:

1B5770 - пять чисел по 4 байта

Technology.gifArachnid-2.gif
  • 4 недели спустя...

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
×
×
  • Создать...