if (g_pMain->pServerSetting.new_monsterstone) {
if (itemid == 300144036 || itemid == 300145037 || itemid == 300146038 || itemid == 900144000) {
uint8 bZoneID = 0, bFamilly = 0;
if (itemid == 300144036) bZoneID = ZONE_STONE1;
else if (itemid == 300145037) bZoneID = ZONE_STONE2;
else if (itemid == 300146038) bZoneID = ZONE_STONE3;
else if (itemid == 900144000) bZoneID = ZONE_STONE2;
if (!isInMonsterStoneZone(bZoneID))
return SendMonsterStoneFail(5);
if (bZoneID == ZONE_STONE1) bFamilly = myrand(1, 4);
else if (bZoneID == ZONE_STONE2) bFamilly = myrand(5, 9);
else if (bZoneID == ZONE_STONE3) bFamilly = myrand(10, 13);
if (bZoneID == ZONE_STONE1) {
if (bFamilly != 1 && bFamilly != 2 && bFamilly != 3
&& bFamilly != 4) {
printf("Monster Stone Zone Fail: Stone 1\n");
return SendMonsterStoneFail(5);
}
}
else if (bZoneID == ZONE_STONE2) {
if (bFamilly != 5 && bFamilly != 6 && bFamilly != 7 &&
bFamilly != 8 && bFamilly != 9) {
printf("Monster Stone Zone Fail: Stone 2\n");
return SendMonsterStoneFail(5);
}
}
else if (bZoneID == ZONE_STONE3) {
if (bFamilly != 10 && bFamilly != 11 && bFamilly != 12
&& bFamilly != 13) {
printf("Monster Stone Zone Fail: Stone 3\n");
return SendMonsterStoneFail(5);
}
}