diff --git a/src/map/skill.c b/src/map/skill.c index 9656e5788c..70d0d52317 100755 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -20879,6 +20879,11 @@ static bool skill_parse_row_requiredb(char* split[], int columns, int current) trim(split[11]); if (split[11][0] != '\0' || atoi(split[11])) { int require[MAX_SKILL_STATUS_REQUIRE]; + + if( skill_db[idx]->require.status_count > 0 ){ + aFree(skill_db[idx]->require.status); + } + if ((skill_db[idx]->require.status_count = skill_split_atoi2(split[11], require, ":", SC_STONE, ARRAYLENGTH(require)))) { CREATE(skill_db[idx]->require.status, enum sc_type, skill_db[idx]->require.status_count); for (i = 0; i < skill_db[idx]->require.status_count; i++){ @@ -20906,6 +20911,10 @@ static bool skill_parse_row_requiredb(char* split[], int columns, int current) if (split[33][0] != '\0' || atoi(split[33])) { int require[MAX_SKILL_EQUIP_REQUIRE]; + if( skill_db[idx]->require.eqItem_count > 0 ){ + aFree(skill_db[idx]->require.eqItem); + } + if ((skill_db[idx]->require.eqItem_count = skill_split_atoi2(split[33], require, ":", 500, ARRAYLENGTH(require)))) { CREATE(skill_db[idx]->require.eqItem, uint16, skill_db[idx]->require.eqItem_count); for (i = 0; i < skill_db[idx]->require.eqItem_count; i++){