SemirLab Опубликовано 18 августа, 2012 Жалоба Поделиться Опубликовано 18 августа, 2012 Порылся в гугле, нашел данный пост: http://www.eathena.ws/board/index.php?showtopic=163592&view=findpost&p=910462 Он оказался каким-то кривым... sc->data[SC_SPI$ Нашел в ревизии 8016 то, что нужно (https://trac.paradoxsystems.net/browser/branches/stable/src/map/battle.c?rev=8016) а именно case AS_SONICBLOW: //EDP will not stack with Soul Link bonus.if (sc && sc->data[SC_EDP].timer == -1 && sc->data[SC_SPIRIT].timer != -1 && sc->data[SC_SPIRIT].val2 == SL_ASSASIN)skillratio += (map_flag_gvg(src->m))?25:100; //+25% dmg on woe/+100% dmg on nonwoeif(sd && pc_checkskill(sd,AS_SONICACCEL)>0)skillratio += 10;break; Компилиться отказывается, пишет 3>..\src\map\battle.c(1778): error C2231: .timer: левый операнд указывает на "struct", используйте "->"3>..\src\map\battle.c(1778): error C2231: .timer: левый операнд указывает на "struct", используйте "->"3>..\src\map\battle.c(1778): error C2231: .val2: левый операнд указывает на "struct", используйте "->" Изменил на if (sc && sc->data[SC_EDP]->timer == -1 && sc->data[SC_SPIRIT]->timer != -1 && sc->data[SC_SPIRIT]->val2 == SL_ASSASIN) Все скомпилилось на ура, но теперь SL вообще не работает на Sonic Blow, а EDP начал работать как EDP+SL... Изначально этот кусок кода выглядит так (15090 ревизия) case AS_SONICBLOW:if (sc && sc->data[SC_SPIRIT] &&sc->data[SC_SPIRIT]->val2 == SL_ASSASIN)ATK_ADDRATE(map_flag_gvg(src->m)?25:100); //+25% dmg on woe/+100% dmg on nonwoeif(sd && pc_checkskill(sd,AS_SONICACCEL)>0)ATK_ADDRATE(10);break; Помогите советами, пожалуйста) Ссылка на комментарий Поделиться на другие сайты Поделиться
Evil_1494 Опубликовано 18 августа, 2012 Жалоба Поделиться Опубликовано 18 августа, 2012 http://rus-ea.ru/forums?m=posts&p=779#779 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
SemirLab Опубликовано 18 августа, 2012 Автор Жалоба Поделиться Опубликовано 18 августа, 2012 Благодарю. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения