Fixed skillname->ID DBMap storing skill integer value in void pointer.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15643 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
b4d04d7117
commit
57de7584e8
@ -114,7 +114,7 @@ int skill_name2id(const char* name)
|
|||||||
if( name == NULL )
|
if( name == NULL )
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
return (int)strdb_get(skilldb_name2id, name);
|
return *(int*)strdb_get(skilldb_name2id, name);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Maps skill ids to skill db offsets.
|
/// Maps skill ids to skill db offsets.
|
||||||
@ -15268,7 +15268,7 @@ void skill_cooldown_load(struct map_session_data * sd)
|
|||||||
static bool skill_parse_row_skilldb(char* split[], int columns, int current)
|
static bool skill_parse_row_skilldb(char* split[], int columns, int current)
|
||||||
{// id,range,hit,inf,element,nk,splash,max,list_num,castcancel,cast_defence_rate,inf2,maxcount,skill_type,blow_count,name,description
|
{// id,range,hit,inf,element,nk,splash,max,list_num,castcancel,cast_defence_rate,inf2,maxcount,skill_type,blow_count,name,description
|
||||||
int id = atoi(split[0]);
|
int id = atoi(split[0]);
|
||||||
int i;
|
int i, *idp;
|
||||||
if( (id >= GD_SKILLRANGEMIN && id <= GD_SKILLRANGEMAX)
|
if( (id >= GD_SKILLRANGEMIN && id <= GD_SKILLRANGEMAX)
|
||||||
|| (id >= HM_SKILLRANGEMIN && id <= HM_SKILLRANGEMAX)
|
|| (id >= HM_SKILLRANGEMIN && id <= HM_SKILLRANGEMAX)
|
||||||
|| (id >= MC_SKILLRANGEMIN && id <= MC_SKILLRANGEMAX) )
|
|| (id >= MC_SKILLRANGEMIN && id <= MC_SKILLRANGEMAX) )
|
||||||
@ -15308,7 +15308,9 @@ static bool skill_parse_row_skilldb(char* split[], int columns, int current)
|
|||||||
skill_split_atoi(split[14],skill_db[i].blewcount);
|
skill_split_atoi(split[14],skill_db[i].blewcount);
|
||||||
safestrncpy(skill_db[i].name, trim(split[15]), sizeof(skill_db[i].name));
|
safestrncpy(skill_db[i].name, trim(split[15]), sizeof(skill_db[i].name));
|
||||||
safestrncpy(skill_db[i].desc, trim(split[16]), sizeof(skill_db[i].desc));
|
safestrncpy(skill_db[i].desc, trim(split[16]), sizeof(skill_db[i].desc));
|
||||||
strdb_put(skilldb_name2id, skill_db[i].name, (void*)id);
|
CREATE(idp, int, 1);
|
||||||
|
*idp = id;
|
||||||
|
strdb_put(skilldb_name2id, skill_db[i].name, idp);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -15681,7 +15683,7 @@ void skill_reload (void)
|
|||||||
*------------------------------------------*/
|
*------------------------------------------*/
|
||||||
int do_init_skill (void)
|
int do_init_skill (void)
|
||||||
{
|
{
|
||||||
skilldb_name2id = strdb_alloc(DB_OPT_DUP_KEY, 0);
|
skilldb_name2id = strdb_alloc(DB_OPT_DUP_KEY|DB_OPT_RELEASE_DATA, 0);
|
||||||
skill_readdb();
|
skill_readdb();
|
||||||
|
|
||||||
group_db = idb_alloc(DB_OPT_BASE);
|
group_db = idb_alloc(DB_OPT_BASE);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user