Насчет смешанных типов статусов совершенно верно.
Статус SC_POISON наносит дамаг внеэлементально, поэтому Myst Card не работает, а вот если вас бьют отравленным оружием, то Myst работает прекрасно .
Код
case SC_POISON:
val3 = tick/1000; //Damage iterations
if(val3 < 1) val3 = 1;
tick = 1000;
//val4: HP damage
if (bl->type == BL_PC)
val4 = (type == SC_DPOISON) ? 3 + status->max_hp/50 : 3 + status->max_hp*3/200; //дамаг по игроку
else
val4 = (type == SC_DPOISON) ? 3 + status->max_hp/100 : 3 + status->max_hp/200; //дамаг по мобу
break;
Расшифруем неудобную форму записи IF
Если на вас простой SC_POISON, то дамаг
Код
val4= 3 + status->max_hp*3/200;
Если вдобавок к SC_POISON на вас ещё SC_DPOISON:
Код
val4= 3 + status->max_hp/50;
НО! SC_DPOISON наносит дамаг отдельно, т.е. на вас может быть только SC_DPOISON, отнимающий 10% ХП у игрока и 15% у моба одномоментно. //Есть подозрения о порождении статуса.