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

Отображение MATK %


Salfer

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

Столкнулся со следующей проблемой:

В клиенте не отображались бонусы
bonus bAtkRate,n;              Attack power + n%
bonus bMatkRate,n;             Magical attack power + n%
(по факту выдает, но не отображает)
Стал разбираться.

Нашел, что в clif.c задаются для игроков
 

case SP_MATK1:
		WFIFOL(fd,4)=pc_rightside_matk(sd);
		break;
	case SP_MATK2:
		WFIFOL(fd,4)=pc_leftside_matk(sd);
		break;

нашел эти значения в pc.h

#define pc_leftside_matk(sd) \
    (\
    ((sd)->sc.data[SC_MAGICPOWER] && (sd)->sc.data[SC_MAGICPOWER]->val4) \
		?((sd)->battle_status.matk_min * 100 + 50) / ((sd)->sc.data[SC_MAGICPOWER]->val3+100) \
        :(sd)->battle_status.matk_min \
    )
#define pc_rightside_matk(sd) \
    (\
    ((sd)->sc.data[SC_MAGICPOWER] && (sd)->sc.data[SC_MAGICPOWER]->val4) \
		?((sd)->battle_status.matk_max * 100 + 50) / ((sd)->sc.data[SC_MAGICPOWER]->val3+100) \
        :(sd)->battle_status.matk_max \
    )

Если тупо изменить это на

#define pc_leftside_matk(sd) ( (sd)->battle_status.matk_min )
#define pc_rightside_matk(sd) ( (sd)->battle_status.matk_max )

То система начинает отображать и MatkRate, но вот при использовании умения MAGICPOWER значение не изменяется, только после применения атакующего скилла.

Есть идеи, как это можно поправить?

 

 

Изменено пользователем Salfer
Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...
Яндекс.Метрика