Hercules changed how Packets work on cliff.c
You should change hBG.c like this :
1) Import packets.h
#include "common/packets.h"
in places using "packet->len", change to "packets->db[cmd]"
clif->send(buf, packet->len, &sd->bl, BG_AREA_WOS);
change to:
clif->send(buf, packets->db[cmd], &sd->bl, BG_AREA_WOS);
They changed the "addflooritem" function, now you need to add 1 more parameter (bool) if you want to show drop effect:
count += (map->addflooritem(bl, &item_tmp, 1, m, mx, my, 0, 0, 0, 4,true) != 0) ? 1 : 0;
--------------------------------------------------------------------/\ this
They also changed skill_fail, just add a 0 on end.
clif->skill_fail((*sd), *skill_id, USESKILL_FAIL_SKILLINTERVAL, 0, 0);
------------------------------------------------------------------/\this
This may fix your problems.
*Edit 1:
Herc also changed how Mapcache works, so you'll have to rebuild your mapcache to include the maps "bat_a03, bat_a04..." that also doesn't exist on the mapcache.dat (used by rAthena too). I found the solution by adding the maps which herc BG copy to make their own battleground maps into data folder by extracting them from the data.grf file. Then, after rebuilding the mapcache using the new system, Herc BG is working pretty well.