kabjans!! Никого не слушай и не трать время попусту. Итак,компилятор выдал тебе:
Message: error C2664: 'CvUnit::changeDamage' : cannot convert parameter 2 from 'PlayerTypes' to 'CvUnit *'|
Это значит,что он не может конвертировать 'PlayerTypes' в 'CvUnit *'. То есть вместо игрока должен быть указан юнит (CvUnit *).
Если ты пишешь свой код в CvUnit.cpp, попробуй переписать вот так:

Код:
changeDamage(GC.getFeatureInfo(eFeature).getTurnDamage(), this);
Если это не будет работать, выложи здесь свой код поподробнее.

P.S. Ты абсолютно прав в том,что в колонизации <div class='quotetop'>Цитата</div>
changeDamage относится к случаю боестолкновения, когда есть атакующий юнит и соответственно есть защищающийся юнит. Например changeDamage(iAttackerDamage, pDefender).[/b]
В своём собственном посте ты описал правильную подачу этой функции. То есть ,для того,чтобы она работала нужно указать два параметра: количественное значение ущерба и юнит,который этот ущерб получает. И поверь,этой функции абсолютно по барабану, от какого <div class='quotetop'>Цитата</div>
факта [/b]
она работает. Главное,указать ущерб и юнита,который его получает.