diff --git a/src/char/int_homun.c b/src/char/int_homun.c index 9336619542..f6bfd422b9 100644 --- a/src/char/int_homun.c +++ b/src/char/int_homun.c @@ -150,7 +150,6 @@ bool mapif_homunculus_save(struct s_homunculus* hd) // Load an homunculus bool mapif_homunculus_load(int homun_id, struct s_homunculus* hd) { - int i; char* data; size_t len; @@ -198,7 +197,7 @@ bool mapif_homunculus_load(int homun_id, struct s_homunculus* hd) Sql_GetData(sql_handle, 21, &data, NULL); hd->vaporize = atoi(data); Sql_FreeResult(sql_handle); - hd->intimacy = cap_value(hd->intimacy, 0, 100000); + hd->intimacy = min(hd->intimacy,100000); hd->hunger = cap_value(hd->hunger, 0, 100); // Load Homunculus Skill @@ -209,6 +208,7 @@ bool mapif_homunculus_load(int homun_id, struct s_homunculus* hd) } while( SQL_SUCCESS == Sql_NextRow(sql_handle) ) { + int i; // id Sql_GetData(sql_handle, 0, &data, NULL); i = atoi(data); diff --git a/src/char/int_party.c b/src/char/int_party.c index 7fe24a66ca..ed8e645cc3 100644 --- a/src/char/int_party.c +++ b/src/char/int_party.c @@ -63,7 +63,6 @@ static int int_party_check_lv(struct party_data *p) { static void int_party_calc_state(struct party_data *p) { int i; - unsigned int lv; p->min_lv = UINT_MAX; p->max_lv = 0; p->party.count = @@ -93,7 +92,7 @@ static void int_party_calc_state(struct party_data *p) } //max/min levels. for(i=0;iparty.member[i].lv; + unsigned int lv=p->party.member[i].lv; if (!lv) continue; if(p->party.member[i].online && //On families, the kid is not counted towards exp share rules. diff --git a/src/common/db.c b/src/common/db.c index 204c6d2eac..572b4f99a7 100644 --- a/src/common/db.c +++ b/src/common/db.c @@ -475,7 +475,6 @@ static void db_rebalance_erase(DBNode node, DBNode *root) DBNode y = node; DBNode x = NULL; DBNode x_parent = NULL; - DBNode w; DB_COUNTSTAT(db_rebalance_erase); // Select where to change the tree @@ -543,6 +542,7 @@ static void db_rebalance_erase(DBNode node, DBNode *root) // Restore the RED-BLACK properties if (y->color != RED) { while (x != *root && (x == NULL || x->color == BLACK)) { + DBNode w; if (x == x_parent->left) { w = x_parent->right; if (w->color == RED) { @@ -1414,7 +1414,6 @@ static bool db_obj_exists(DBMap* self, DBKey key) { DBMap_impl* db = (DBMap_impl*)self; DBNode node; - int c; bool found = false; DB_COUNTSTAT(db_exists); @@ -1436,7 +1435,7 @@ static bool db_obj_exists(DBMap* self, DBKey key) db_free_lock(db); node = db->ht[db->hash(key, db->maxlen)%HASH_SIZE]; while (node) { - c = db->cmp(key, node->key, db->maxlen); + int c = db->cmp(key, node->key, db->maxlen); if (c == 0) { if (!(node->deleted)) { db->cache = node; @@ -1465,7 +1464,6 @@ static DBData* db_obj_get(DBMap* self, DBKey key) { DBMap_impl* db = (DBMap_impl*)self; DBNode node; - int c; DBData *data = NULL; DB_COUNTSTAT(db_get); @@ -1488,7 +1486,7 @@ static DBData* db_obj_get(DBMap* self, DBKey key) db_free_lock(db); node = db->ht[db->hash(key, db->maxlen)%HASH_SIZE]; while (node) { - c = db->cmp(key, node->key, db->maxlen); + int c = db->cmp(key, node->key, db->maxlen); if (c == 0) { if (!(node->deleted)) { data = &node->data; @@ -1856,7 +1854,7 @@ static int db_obj_remove(DBMap* self, DBKey key, DBData *out_data) DBMap_impl* db = (DBMap_impl*)self; DBNode node; unsigned int hash; - int c = 0, retval = 0; + int retval = 0; DB_COUNTSTAT(db_remove); if (db == NULL) return 0; // nullpo candidate @@ -1874,7 +1872,7 @@ static int db_obj_remove(DBMap* self, DBKey key, DBData *out_data) db_free_lock(db); hash = db->hash(key, db->maxlen)%HASH_SIZE; for(node = db->ht[hash]; node; ){ - c = db->cmp(key, node->key, db->maxlen); + int c = db->cmp(key, node->key, db->maxlen); if (c == 0) { if (!(node->deleted)) { if (db->cache == node) diff --git a/src/login/login.c b/src/login/login.c index 5b2834eff5..dd0c425a2d 100644 --- a/src/login/login.c +++ b/src/login/login.c @@ -1842,12 +1842,11 @@ int login_config_read(const char* cfgName) if (sscanf(w2, "%3d, %32s", &group, md5) == 2) { struct client_hash_node *nnode; - int i; CREATE(nnode, struct client_hash_node, 1); - if (strcmpi(md5, "disabled") == 0) { nnode->hash[0] = '\0'; } else { + int i; for (i = 0; i < 32; i += 2) { char buf[3]; unsigned int byte; @@ -1859,10 +1858,8 @@ int login_config_read(const char* cfgName) nnode->hash[i / 2] = (uint8)(byte & 0xFF); } } - nnode->group_id = group; nnode->next = login_config.client_hash_nodes; - login_config.client_hash_nodes = nnode; } } else if(strcmpi(w1, "chars_per_account") == 0) { //maxchars per account [Sirius] diff --git a/src/map/atcommand.c b/src/map/atcommand.c index 3742d7df98..a5c1e0f4c3 100644 --- a/src/map/atcommand.c +++ b/src/map/atcommand.c @@ -143,9 +143,7 @@ static const char* atcommand_help_string(const char* command) *------------------------------------------*/ ACMD_FUNC(send) { - int len=0,off,end,type; - long num; - + int len=0,type; // read message type as hex number (without the 0x) if(!message || !*message || !((sscanf(message, "len %x", &type)==1 && (len=1)) @@ -187,9 +185,9 @@ ACMD_FUNC(send) }\ } //define GET_VALUE - if (type > 0 && type < MAX_PACKET_DB) { - + int off,end; + long num; if(len) {// show packet length sprintf(atcmd_output, msg_txt(sd,904), type, packet_db[sd->packet_ver][type].len); // Packet 0x%x length: %d @@ -404,7 +402,7 @@ static void warp_get_suggestions(struct map_session_data* sd, const char *name) // if no maps found, search by edit distance if (!count) { unsigned int distance[MAX_MAP_PER_SERVER][2]; - int j, min; + int j; // calculate Levenshtein distance for all maps for (i = 0; i < MAX_MAP_PER_SERVER; i++) { @@ -419,7 +417,7 @@ static void warp_get_suggestions(struct map_session_data* sd, const char *name) // selection sort elements as needed count = min(MAX_SUGGESTIONS, 5); // results past 5 aren't worth showing for (i = 0; i < count; i++) { - min = i; + int min = i; for (j = i+1; j < MAX_MAP_PER_SERVER; j++) { if (distance[j][0] < distance[min][0]) min = j; @@ -617,8 +615,7 @@ ACMD_FUNC(jump) *------------------------------------------*/ ACMD_FUNC(who) { struct map_session_data *pl_sd = NULL; - struct s_mapiterator *iter = NULL; - char map_name[MAP_NAME_LENGTH_EXT] = ""; + struct s_mapiterator *iter = NULL; char player_name[NAME_LENGTH] = ""; int count = 0; int level = 0; @@ -634,6 +631,7 @@ ACMD_FUNC(who) { nullpo_retr(-1, sd); if (strstr(command, "map") != NULL) { + char map_name[MAP_NAME_LENGTH_EXT] = ""; if (sscanf(message, "%15s %23s", map_name, player_name) < 1 || (map_id = map_mapname2mapid(map_name)) < 0) map_id = sd->bl.m; } else { @@ -721,7 +719,7 @@ ACMD_FUNC(whogm) struct map_session_data* pl_sd; struct s_mapiterator* iter; int j, count; - int pl_level, level; + int level; char match_text[CHAT_SIZE_MAX]; char player_name[NAME_LENGTH]; struct guild *g; @@ -744,7 +742,7 @@ ACMD_FUNC(whogm) iter = mapit_getallusers(); for( pl_sd = (TBL_PC*)mapit_first(iter); mapit_exists(iter); pl_sd = (TBL_PC*)mapit_next(iter) ) { - pl_level = pc_get_group_level(pl_sd); + int pl_level = pc_get_group_level(pl_sd); if (!pl_level) continue; @@ -2009,7 +2007,7 @@ ACMD_FUNC(monster) int mob_id; int number = 0; int count; - int i, k, range; + int i, range; short mx, my; unsigned int size; nullpo_retr(-1, sd); @@ -2075,9 +2073,13 @@ ACMD_FUNC(monster) count = 0; range = (int)sqrt((float)number) +2; // calculation of an odd number (+ 4 area around) for (i = 0; i < number; i++) { + int k; map_search_freecell(&sd->bl, 0, &mx, &my, range, range, 0); k = mob_once_spawn(sd, sd->bl.m, mx, my, name, mob_id, 1, eventname, size, AI_NONE); - count += (k != 0) ? 1 : 0; + if(k) { + //mapreg_setreg(reference_uid(add_str("$@mobid"), i),k); //retain created mobid in array uncomment if needed + count ++; + } } if (count != 0) @@ -2145,7 +2147,7 @@ ACMD_FUNC(killmonster) *------------------------------------------*/ ACMD_FUNC(refine) { - int i,j, position = 0, refine = 0, current_position, final_refine; + int j, position = 0, refine = 0, current_position, final_refine; int count; nullpo_retr(-1, sd); @@ -2180,6 +2182,7 @@ ACMD_FUNC(refine) count = 0; for (j = 0; j < EQI_MAX; j++) { + int i; if ((i = sd->equip_index[j]) < 0) continue; if(j == EQI_AMMO) continue; @@ -3837,7 +3840,6 @@ ACMD_FUNC(partysharelvl) { ACMD_FUNC(mapinfo) { struct map_session_data* pl_sd; struct s_mapiterator* iter; - struct npc_data *nd = NULL; struct chat_data *cd = NULL; char direction[12]; int i, m_id, chat_num = 0, list = 0, vend_num = 0; @@ -4087,7 +4089,7 @@ ACMD_FUNC(mapinfo) { clif_displaymessage(fd, msg_txt(sd,482)); // ----- NPCs in Map ----- for (i = 0; i < map[m_id].npc_num;) { - nd = map[m_id].npc[i]; + struct npc_data *nd = map[m_id].npc[i]; switch(nd->ud.dir) { case 0: strcpy(direction, msg_txt(sd,491)); break; // North case 1: strcpy(direction, msg_txt(sd,492)); break; // North West @@ -4526,7 +4528,6 @@ char* txt_time(unsigned int duration) ACMD_FUNC(servertime) { const struct TimerData * timer_data; - const struct TimerData * timer_data2; time_t time_server; // variable for number of seconds (used with time() function) struct tm *datetime; // variable for time in structure ->tm_mday, ->tm_sec, ... char temp[CHAT_SIZE_MAX]; @@ -4562,6 +4563,7 @@ ACMD_FUNC(servertime) } else clif_displaymessage(fd, msg_txt(sd,232)); // Game time: The game is in permanent night. else { + const struct TimerData * timer_data2; if (night_flag == 0) { timer_data = get_timer(night_timer_tid); timer_data2 = get_timer(day_timer_tid); @@ -4882,7 +4884,7 @@ ACMD_FUNC(disguiseguild) { int id = 0, i; char monster[NAME_LENGTH], guild[NAME_LENGTH]; - struct map_session_data *pl_sd; + struct guild *g; memset(monster, '\0', sizeof(monster)); @@ -4914,9 +4916,11 @@ ACMD_FUNC(disguiseguild) return -1; } - for( i = 0; i < g->max_member; i++ ) + for( i = 0; i < g->max_member; i++ ){ + struct map_session_data *pl_sd; if( (pl_sd = g->member[i].sd) && !pc_isriding(pl_sd) ) pc_disguise(pl_sd, id); + } clif_displaymessage(fd, msg_txt(sd,122)); // Disguise applied. return 0; @@ -4966,7 +4970,6 @@ ACMD_FUNC(undisguiseall) ACMD_FUNC(undisguiseguild) { char guild_name[NAME_LENGTH]; - struct map_session_data *pl_sd; struct guild *g; int i; nullpo_retr(-1, sd); @@ -4983,9 +4986,11 @@ ACMD_FUNC(undisguiseguild) return -1; } - for(i = 0; i < g->max_member; i++) + for(i = 0; i < g->max_member; i++){ + struct map_session_data *pl_sd; if( (pl_sd = g->member[i].sd) && pl_sd->disguise ) pc_disguise(pl_sd, 0); + } clif_displaymessage(fd, msg_txt(sd,124)); // Undisguise applied. @@ -5450,7 +5455,7 @@ ACMD_FUNC(clearcart) #define MAX_SKILLID_PARTIAL_RESULTS 5 #define MAX_SKILLID_PARTIAL_RESULTS_LEN 74 // "skill " (6) + "%d:" (up to 5) + "%s" (up to 30) + " (%s)" (up to 33) ACMD_FUNC(skillid) { - int skillen, idx, i, found = 0; + int skillen, i, found = 0; DBIterator* iter; DBKey key; DBData *data; @@ -5468,7 +5473,7 @@ ACMD_FUNC(skillid) { iter = db_iterator(skilldb_name2id); for( data = iter->first(iter,&key); iter->exists(iter); data = iter->next(iter,&key) ) { - idx = skill_get_index(db_data2i(data)); + int idx = skill_get_index(db_data2i(data)); if (strnicmp(key.str, message, skillen) == 0 || strnicmp(skill_db[idx].desc, message, skillen) == 0) { sprintf(atcmd_output, msg_txt(sd,1164), db_data2i(data), skill_db[idx].desc, key.str); // skill %d: %s (%s) clif_displaymessage(fd, atcmd_output); @@ -6921,8 +6926,7 @@ ACMD_FUNC(mobinfo) struct item_data *item_data; struct mob_db *mob, *mob_array[MAX_SEARCH]; int count; - int i, j, k; - unsigned int base_exp, job_exp; + int i, k; memset(atcmd_output, '\0', sizeof(atcmd_output)); memset(atcmd_output2, '\0', sizeof(atcmd_output2)); @@ -6951,6 +6955,7 @@ ACMD_FUNC(mobinfo) count = MAX_SEARCH; } for (k = 0; k < count; k++) { + unsigned int j,base_exp,job_exp; mob = mob_array[k]; base_exp = mob->base_exp; job_exp = mob->job_exp; @@ -6962,11 +6967,11 @@ ACMD_FUNC(mobinfo) } #endif #ifdef VIP_ENABLE - // Display EXP rate increase for VIP. - if (pc_isvip(sd) && (battle_config.vip_base_exp_increase || battle_config.vip_job_exp_increase)) { - base_exp += battle_config.vip_base_exp_increase; - job_exp += battle_config.vip_job_exp_increase; - } + // Display EXP rate increase for VIP. + if (pc_isvip(sd) && (battle_config.vip_base_exp_increase || battle_config.vip_job_exp_increase)) { + base_exp += battle_config.vip_base_exp_increase; + job_exp += battle_config.vip_job_exp_increase; + } #endif // stats if (mob->mexp) @@ -7444,7 +7449,7 @@ ACMD_FUNC(homshuffle) *------------------------------------------*/ ACMD_FUNC(iteminfo) { - struct item_data *item_data, *item_array[MAX_SEARCH]; + struct item_data *item_array[MAX_SEARCH]; int i, count = 1; if (!message || !*message) { @@ -7465,7 +7470,7 @@ ACMD_FUNC(iteminfo) count = MAX_SEARCH; } for (i = 0; i < count; i++) { - item_data = item_array[i]; + struct item_data * item_data = item_array[i]; sprintf(atcmd_output, msg_txt(sd,1277), // Item: '%s'/'%s'[%d] (%d) Type: %s | Extra Effect: %s item_data->name,item_data->jname,item_data->slot,item_data->nameid, (item_data->type != IT_AMMO) ? itemdb_typename((enum item_types)item_data->type) : itemdb_typename_ammo((enum e_item_ammo)item_data->look), @@ -7548,7 +7553,7 @@ ACMD_FUNC(whodrops) ACMD_FUNC(whereis) { - struct mob_db *mob, *mob_array[MAX_SEARCH]; + struct mob_db *mob_array[MAX_SEARCH]; int count; int i, j, k; @@ -7576,7 +7581,7 @@ ACMD_FUNC(whereis) count = MAX_SEARCH; } for (k = 0; k < count; k++) { - mob = mob_array[k]; + struct mob_db *mob = mob_array[k]; snprintf(atcmd_output, sizeof atcmd_output, msg_txt(sd,1289), mob->jname); // %s spawns in: clif_displaymessage(fd, atcmd_output); @@ -9230,8 +9235,6 @@ ACMD_FUNC(channel) { ACMD_FUNC(fontcolor) { - unsigned char k; - if( !message || !*message ) { channel_display_list(sd,"colors"); return -1; @@ -9240,6 +9243,7 @@ ACMD_FUNC(fontcolor) if( strcmpi(message,"Normal") == 0 ) { sd->fontcolor = 0; } else { + unsigned char k; ARR_FIND(0,Channel_Config.colors_count,k,( strcmpi(message,Channel_Config.colors_name[k]) == 0 )); if( k == Channel_Config.colors_count ) { sprintf(atcmd_output, msg_txt(sd,1411), message);// Unknown color '%s'. @@ -9804,7 +9808,7 @@ static void atcommand_get_suggestions(struct map_session_data* sd, const char *n bool is_atcommand(const int fd, struct map_session_data* sd, const char* message, int type) { char charname[NAME_LENGTH], params[100]; - char charname2[NAME_LENGTH], params2[100]; + char charname2[NAME_LENGTH]; char command[100]; char output[CHAT_SIZE_MAX]; @@ -9848,6 +9852,7 @@ bool is_atcommand(const int fd, struct map_session_data* sd, const char* message if (*message == charcommand_symbol) { do { int x, y, z; + char params2[100]; //Checks to see if #command has a name or a name + parameters. x = sscanf(message, "%99s \"%23[^\"]\" %99[^\n]", command, charname, params); diff --git a/src/map/battle.c b/src/map/battle.c index e17161ebc8..eea61cf88a 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -3847,9 +3847,10 @@ struct Damage battle_attack_sc_bonus(struct Damage wd, struct block_list *src, u { struct map_session_data *sd = BL_CAST(BL_PC, src); struct status_change *sc = status_get_sc(src); - int chorusbonus = 0, type; + int chorusbonus = 0; if( sd ) { + int type; // Minstrel/Wanderer number check for chorus skills. // Bonus remains 0 unless 3 or more Minstrels/Wanderers are in the party. if( sd->status.party_id ) { diff --git a/src/map/clif.c b/src/map/clif.c index acd552f045..c5901abbe1 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -1500,7 +1500,7 @@ int clif_homskillinfoblock(struct map_session_data *sd) { //[orn] struct homun_data *hd; int fd = sd->fd; - int i,j,len=4,id; + int i,j,len=4; WFIFOHEAD(fd, 4+37*MAX_HOMUNSKILL); hd = sd->hd; @@ -1509,7 +1509,8 @@ int clif_homskillinfoblock(struct map_session_data *sd) WFIFOW(fd,0)=0x235; for ( i = 0; i < MAX_HOMUNSKILL; i++){ - if( (id = hd->homunculus.hskill[i].id) != 0 ){ + int id = hd->homunculus.hskill[i].id; + if( id != 0 ){ int combo = (hd->homunculus.hskill[i].flag)&SKILL_FLAG_TMP_COMBO; j = id - HM_SKILLBASE; WFIFOW(fd,len ) = id; diff --git a/src/map/pc.c b/src/map/pc.c index 90cbbc1983..b1b3564fe3 100755 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -5160,6 +5160,32 @@ int pc_memo(struct map_session_data* sd, int pos) // // Skills // + +/** + * Get the skill current cooldown for player. + * (get the db base cooldown for skill + player specific cooldown) + * @param sd : player pointer + * @param id : skill id + * @param lv : skill lv + * @return player skill cooldown + */ +int pc_get_skillcooldown(struct map_session_data *sd, int id, int lv) { + int i, cooldown=0; + int idx = skill_get_index (id); + int cooldownlen = ARRAYLENGTH(sd->skillcooldown); + + if (!idx) return 0; + if (skill_db[idx].cooldown[lv - 1]) + cooldown = skill_db[idx].cooldown[lv - 1]; + + ARR_FIND(0, cooldownlen, i, sd->skillcooldown[i].id == id); + if(iskillcooldown[i].val; + cooldown = max(0,cooldown); + } + return cooldown; +} + /*========================================== * Return player sd skill_lv learned for given skill *------------------------------------------*/ diff --git a/src/map/pc.h b/src/map/pc.h index 70d19a5327..4c6ba7e6e3 100644 --- a/src/map/pc.h +++ b/src/map/pc.h @@ -826,6 +826,7 @@ int pc_isequip(struct map_session_data *sd,int n); int pc_equippoint(struct map_session_data *sd,int n); int pc_setinventorydata(struct map_session_data *sd); +int pc_get_skillcooldown(struct map_session_data *sd, int id, int lv); int pc_checkskill(struct map_session_data *sd,uint16 skill_id); short pc_checkequip(struct map_session_data *sd,int pos); bool pc_checkequip2(struct map_session_data *sd,int nameid,int min, int max); diff --git a/src/map/script.c b/src/map/script.c index 059a75e13e..6727d3e6bc 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -9151,7 +9151,7 @@ BUILDIN_FUNC(monster) for(i=0; iskillcooldown) && sd->skillcooldown[i].id; i++) { - if (sd->skillcooldown[i].id == id) { - cooldown += sd->skillcooldown[i].val; - if (cooldown < 0) - cooldown = 0; - break; - } - } - - return cooldown; -} - int skill_frostjoke_scream(struct block_list *bl,va_list ap); int skill_check_target_c_marker(struct block_list *bl,va_list ap); int skill_attack_area(struct block_list *bl,va_list ap); @@ -3634,18 +3612,17 @@ static int skill_timerskill(int tid, unsigned int tick, int id, intptr_t data) * Warlock **/ case WL_CHAINLIGHTNING_ATK: { - struct block_list *nbl = NULL; // Next Target of Chain skill_attack(BF_MAGIC,src,src,target,skl->skill_id,skl->skill_lv,tick,skl->flag); // Hit a Lightning on the current Target skill_toggle_magicpower(src, skl->skill_id); // only the first hit will be amplify if( skl->type < (4 + skl->skill_lv - 1) && skl->x < 3 ) { // Remaining Chains Hit + struct block_list *nbl = NULL; // Next Target of Chain nbl = battle_getenemyarea(src, target->x, target->y, (skl->type>2)?2:3, // After 2 bounces, it will bounce to other targets in 7x7 range. BL_CHAR|BL_SKILL, target->id); // Search for a new Target around current one... if( nbl == NULL ) skl->x++; else - skl->x = 0; - + skl->x = 0; skill_addtimerskill(src, tick + 651, (nbl?nbl:target)->id, skl->x, 0, WL_CHAINLIGHTNING_ATK, skl->skill_lv, skl->type + 1, skl->flag); } } @@ -4946,13 +4923,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint sd->ud.canact_tick = tick + skill_delayfix(src, skill_id, skill_lv); clif_status_change(src, SI_ACTIONDELAY, 1, skill_delayfix(src, skill_id, skill_lv), 0, 0, 0); - cooldown = skill_get_cooldown(skill_id, skill_lv); - for (i = 0; i < ARRAYLENGTH(sd->skillcooldown) && sd->skillcooldown[i].id; i++) { - if( sd->skillcooldown[i].id == skill_id ) { - cooldown += sd->skillcooldown[i].val; - break; - } - } + cooldown = pc_get_skillcooldown(sd,skill_id, skill_lv); if( cooldown ) skill_blockpc_start(sd, skill_id, cooldown); } @@ -10345,7 +10316,7 @@ int skill_castend_id(int tid, unsigned int tick, int id, intptr_t data) if( !sd || sd->skillitem != ud->skill_id || skill_get_delay(ud->skill_id,ud->skill_lv) ) ud->canact_tick = tick + skill_delayfix(src, ud->skill_id, ud->skill_lv); //Tests show wings don't overwrite the delay but skill scrolls do. [Inkfish] if (sd) { //Cooldown application - int cooldown = skill_get_cooldown_(sd,ud->skill_id, ud->skill_lv); // Increases/Decreases cooldown of a skill by item/card bonuses. + int cooldown = pc_get_skillcooldown(sd,ud->skill_id, ud->skill_lv); // Increases/Decreases cooldown of a skill by item/card bonuses. if(cooldown) skill_blockpc_start(sd, ud->skill_id, cooldown); } if( battle_config.display_status_timers && sd ) @@ -10571,7 +10542,7 @@ int skill_castend_pos(int tid, unsigned int tick, int id, intptr_t data) if( !sd || sd->skillitem != ud->skill_id || skill_get_delay(ud->skill_id,ud->skill_lv) ) ud->canact_tick = tick + skill_delayfix(src, ud->skill_id, ud->skill_lv); if (sd) { //Cooldown application - int cooldown = skill_get_cooldown_(sd,ud->skill_id, ud->skill_lv); + int cooldown = pc_get_skillcooldown(sd,ud->skill_id, ud->skill_lv); if(cooldown) skill_blockpc_start(sd, ud->skill_id, cooldown); } if( battle_config.display_status_timers && sd ) @@ -15590,7 +15561,7 @@ void skill_weaponrefine (struct map_session_data *sd, int idx) if(item->nameid > 0 && ditem->type == IT_WEAPON) { - int i = 0, ep = 0, per; + int i = 0, per; int material[5] = { 0, ITEMID_PHRACON, ITEMID_EMVERETARCON, ITEMID_ORIDECON, ITEMID_ORIDECON, }; if( ditem->flag.no_refine ) { // if the item isn't refinable clif_skill_fail(sd,sd->menuskill_id,USESKILL_FAIL_LEVEL,0); @@ -15612,6 +15583,7 @@ void skill_weaponrefine (struct map_session_data *sd, int idx) pc_delitem(sd, i, 1, 0, 0, LOG_TYPE_OTHER); if (per > rnd() % 100) { + int ep=0; log_pick_pc(sd, LOG_TYPE_OTHER, -1, item); item->refine++; log_pick_pc(sd, LOG_TYPE_OTHER, 1, item);