Przejrzyj wszystkie consty, które są tu używane. To też może wpłynąć na rozmiar klasy.
Szczególnie te:
ATR_INDEX_MAX
DAM_INDEX_MAX
PROT_INDEX_MAX
ITM_TEXT_MAX
Prawdopodobnie któryś const podkręciłeś o 2, doszły dwa 32 bitowe inty i rozmiar przestał się zgadzać.
Z tego co pamiętam to ATR
Czemu kompilator tak pedantycznie do tego podchodzi? Bo w praktyce te natywne klasy to czyste "mięcho" - dane wrzucone na chama do pamięci. Zwykle gra spisuje sobie adres początku obiektu w pamięci (offset symbolu) tam, gdzie zaczyna się pierwsze pole i interpretuje.
Chcesz odczytać `npcType`? No to liczymy: `id` ma 4 bajty, `name` ma 4*5 bajtów (bo tablica pointerów), `slot` ma 4 bajty, `effect` ma 4 bajty. Po tych prymitywnych wyliczankach wiemy, że `npcType` znajduje się 4+4*5+4+4=32 bajty licząc od początku obiektu w pamięci. Dorzucisz dodatkowe pola, to silnik nie będzie wiedział jak to ugryźć i po prostu się zdenerwuje 
Powoli zaczynam rozumieć ten Twój strasznie poważny język. Za około 30 minut będę w stanie sprawdzić czy to faktycznie wina rozmiaru w const bo prawdą jest, że dodałem akurat 2 inty ;p
EDIT:
To co mówiłeś się zgadza. Jak mniemam chodzi teraz tylko jeszcze o plik AI_Constants.d. Wszystkie pliki, jakbym nie chciał i nie fisiował zawsze zawiną kółko do tego jednego... został mi błąd tylko tu.
Zakrywając parserowi linię
const int REAL_STAMINA_MAX = 88;
( próbowałem też tym sposobem)
const int REAL_A = 83;
const int REAL_A+B = 1;
podaję mu na tacy nowe błędy, m.in w pliku B_RaiseAttribute.d
REAL_STAMINA_MAX
- UKN. ID
Błędne koło jak dla mnie. Jedyne co muszę zrobić to znaleźć sposób na to, żeby do AI_Const wcisnąć jakoś tego REALa dodatkowego.