in unit.cpp
Find:
// SC_MAGICPOWER needs to switch states at start of cast
skill_toggle_magicpower(src, skill_id);
Change To:
// SC_MAGICPOWER needs to switch states at start of cast
skill_toggle_magicpower(src, skill_id);
if (sd && skill_id == PF_SPIDERWEB && !skill_pos_maxcount_check(src, skill_x, skill_y, skill_id, skill_lv, BL_PC, false)) {
int oldweb = -1;
int webid = 0;
for (int i = 0; i < MAX_SKILLUNITGROUP && sd->ud.skillunit[i]; i++) {
if (sd->ud.skillunit[i]->skill_id == skill_id) {
if (webid == 0) {
webid = sd->ud.skillunit[i]->group_id;
oldweb = i;
}
else if (webid != 0 && sd->ud.skillunit[i]->group_id < webid) {
webid = sd->ud.skillunit[i]->group_id;
oldweb = i;
}
}
}
if (oldweb >= 0) {
skill_delunitgroup(sd->ud.skillunit[oldweb]);
}
}
This will delete the oldest active spider web when you try to cast it while it is at max count.
You can change the maxcount in skill_db.txt to any number under 25 to raise the limit before web deletion.
Edit: Sorry I placed the code before requirement checks, but its fixed now.