in the mob_dead(...)
search for
drop_rate = mob_getdroprate(src, md->db, md->db->dropitem[i].rate, drop_modifier);
replace with
if (it->type == IT_CARD)
drop_rate = md->db->dropitem[i].rate;
else
drop_rate = mob_getdroprate(src, md->db, md->db->dropitem[i].rate, drop_modifier);
hmm... nvm this actually removed all modifier.
it probably better if you pass the item type into
drop_rate = mob_getdroprate(src, md->db, md->db->dropitem[i].rate, drop_modifier, it);
then
int mob_getdroprate(struct block_list *src, std::shared_ptr<s_mob_db> mob, int base_rate, int drop_modifier,struct item_data it)
then add the item type checking to skip if its card and is vip
if (pc_isvip(sd) && it->type != IT_CARD) { // Increase item drop rate for VIP.