Спойлер: Код SA_CLASSCHANGE Пруф - http://svn.eathena.ws/svn/ea/branches/stable/src/map/skill.c Код: case SA_CLASSCHANGE: case SA_MONOCELL: if (dstmd) { int class_ = skillid==SA_MONOCELL?1002:mob_get_random_id(2, 1, 0); clif_skill_nodamage(src,bl,skillid,skilllv,1); mob_class_change(dstmd,class_); if( tsc && dstmd->status.mode&MD_BOSS ) { const enum sc_type scs[] = { SC_QUAGMIRE, SC_PROVOKE, SC_ROKISWEIL, SC_GRAVITATION, SC_SUITON, SC_STRIPWEAPON, SC_STRIPSHIELD, SC_STRIPARMOR, SC_STRIPHELM, SC_BLADESTOP }; for (i = SC_COMMON_MIN; i <= SC_COMMON_MAX; i++) if (tsc->data[i]) status_change_end(bl, (sc_type)i, -1); for (i = 0; i < ARRAYLENGTH(scs); i++) if (tsc->data[scs[i]]) status_change_end(bl, scs[i], -1); } } break; Если мне не изменяет память, вот эта вот строчка: Код: int class_ = skillid==SA_MONOCELL?1002:mob_get_random_id(2, 1, 0); читается так: Берём ID моба со скилла SA_MONOCELL (который в поринга превращает), но с рэндомной вероятностью заменить ID поринга (1002) на рэндомное ID выражением mob_get_random_id(2, 1, 0). (чёт много рэндомов) Отыскал и эту функцию: Спойлер: Код mob_get_random_id Пруф - http://svn.eathena.ws/svn/ea/branches/stable/src/map/mob.c Код: /*========================================== * Fetches a random mob_id [Skotlex] * type: Where to fetch from: * 0: dead branch list * 1: poring list * 2: bloody branch list * flag: * &1: Apply the summon success chance found in the list (otherwise get any monster from the db) * &2: Apply a monster check level. * &4: Selected monster should not be a boss type * &8: Selected monster must have normal spawn. * lv: Mob level to check against *------------------------------------------*/ int mob_get_random_id(int type, int flag, int lv) { struct mob_db *mob; int i=0, class_; if(type < 0 || type >= MAX_RANDOMMONSTER) { ShowError("mob_get_random_id: Invalid type (%d) of random monster.\n", type); return 0; } do { if (type) class_ = summon[type].class_[rand()%summon[type].qty]; else //Dead branch class_ = rand() % MAX_MOB_DB; mob = mob_db(class_); } while ((mob == mob_dummy || mob_is_clone(class_) || (flag&1 && mob->summonper[type] <= rand() % 1000000) || (flag&2 && lv < mob->lv) || (flag&4 && mob->status.mode&MD_BOSS) || (flag&8 && mob->spawn[0].qty < 1) ) && (i++) < MAX_MOB_DB); if(i >= MAX_MOB_DB) class_ = mob_db_data[0]->summonper[type]; return class_; } /*========================================== Тут чётко написано, что если тип 2, как в нашем случае (mob_get_random_id(2, 1, 0)), то список мобов берётся из блади бранч листа. А вот и сам лист: http://svn.eathena.ws/svn/ea/branches/stable/db/mob_boss.txt Ни Ифрита, ни Сатана, ни л3 мвп нет.
Lizardko Joined: 17 Янв 2011 Сообщений: 1,105 Light Wisher Joined: 21 Мар 2010 Сообщений: 63 Форумные задротики?) да-да ))
ну когда счет постам обоих в итоге идет на несколько тысяч, то граница форумного задротства немного размывается))
ой, я так расстроен, я так опозорен, это такой ужас !!!! больше фраз про говно и тебя ждет успех! ты мог заметить, я попросил пруф, мне его предоставили, пришел ты и подумал, куда бы сунуть фразу про говно. ты врубился в ситуацию да?)
Девил, все было не так. ты говоришь: а тебе говорят: б ты говоришь: ПРУФ?! тебе его дают ты говоришь ТОГДА В тебе говорят Г, и вот пруф ты говоришь ТОГДА Д и пруфов не даешь => балаболка ты!
Зачем платить? Ты уже на пределе возможностей. По-крайней мере, я от форумного терпилы чего-то больше не ожидаю.