summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHaru <haru@dotalux.com>2013-09-25 00:29:15 +0200
committerHaru <haru@dotalux.com>2013-09-25 00:29:15 +0200
commit44c9ba35b0bc2d9f4dc82db20be824e6e0d320e7 (patch)
tree1c1e300503d99ecbe8b41355daa716858aaece5d /src
parentb9c8f57b92d2935db971a38e144529682712dc82 (diff)
downloadhercules-44c9ba35b0bc2d9f4dc82db20be824e6e0d320e7.tar.gz
hercules-44c9ba35b0bc2d9f4dc82db20be824e6e0d320e7.tar.bz2
hercules-44c9ba35b0bc2d9f4dc82db20be824e6e0d320e7.tar.xz
hercules-44c9ba35b0bc2d9f4dc82db20be824e6e0d320e7.zip
Renamed more forgotten variables during interface conversions
(related: b9c8f57) Most renames are trivial (just to avoid shadowing global variables, even if they currently did no harm), but there were some cases of partly renamed variables that caused some NULL checks to always pass and who knows what could have been happened when they were too subtle to make the application crash. Also corrected some potentially unsafe macro definitions Signed-off-by: Haru <haru@dotalux.com>
Diffstat (limited to 'src')
-rw-r--r--src/char/inter.c8
-rw-r--r--src/common/HPMi.h2
-rw-r--r--src/common/console.c4
-rw-r--r--src/common/console.h2
-rw-r--r--src/common/strlib.c54
-rw-r--r--src/common/strlib.h4
-rw-r--r--src/config/const.h51
-rw-r--r--src/map/atcommand.c2
-rw-r--r--src/map/battle.c130
-rw-r--r--src/map/battle.h2
-rw-r--r--src/map/chat.c8
-rw-r--r--src/map/clif.c164
-rw-r--r--src/map/clif.h16
-rw-r--r--src/map/homunculus.c6
-rw-r--r--src/map/itemdb.c68
-rw-r--r--src/map/map.c113
-rw-r--r--src/map/map.h12
-rw-r--r--src/map/mob.c54
-rw-r--r--src/map/npc.c4
-rw-r--r--src/map/npc.h4
-rw-r--r--src/map/pc.c76
-rw-r--r--src/map/pc.h4
-rw-r--r--src/map/pet.h4
-rw-r--r--src/map/quest.c17
-rw-r--r--src/map/quest.h2
-rw-r--r--src/map/script.c51
-rw-r--r--src/map/script.h2
-rw-r--r--src/map/skill.c471
-rw-r--r--src/map/skill.h6
-rw-r--r--src/map/status.c232
-rw-r--r--src/map/status.h2
-rw-r--r--src/map/vending.h2
32 files changed, 754 insertions, 823 deletions
diff --git a/src/char/inter.c b/src/char/inter.c
index 4eb4f0c0a..a6d2485cb 100644
--- a/src/char/inter.c
+++ b/src/char/inter.c
@@ -490,7 +490,7 @@ void mapif_parse_accinfo(int fd) {
/* it will only get here if we have a single match */
if( account_id ) {
- char userid[NAME_LENGTH], user_pass[NAME_LENGTH], email[40], last_ip[20], lastlogin[30], pincode[5], birthdate[11];
+ char userid[NAME_LENGTH], user_pass[NAME_LENGTH], email[40], last_ip[20], lastlogin[30], pin_code[5], birthdate[11];
short level = -1;
int logincount = 0,state = 0;
// FIXME: No, this doesn't really look right. We can't, and shouldn't, access the login table from the char server.
@@ -512,7 +512,7 @@ void mapif_parse_accinfo(int fd) {
SQL->GetData(sql_handle, 5, &data, NULL); safestrncpy(lastlogin, data, sizeof(lastlogin));
SQL->GetData(sql_handle, 6, &data, NULL); logincount = atoi(data);
SQL->GetData(sql_handle, 7, &data, NULL); state = atoi(data);
- SQL->GetData(sql_handle, 8, &data, NULL); safestrncpy(pincode, data, sizeof(pincode));
+ SQL->GetData(sql_handle, 8, &data, NULL); safestrncpy(pin_code, data, sizeof(pin_code));
SQL->GetData(sql_handle, 9, &data, NULL); safestrncpy(birthdate, data, sizeof(birthdate));
}
@@ -525,8 +525,8 @@ void mapif_parse_accinfo(int fd) {
inter_to_fd(fd, u_fd, aid, "User: %s | GM Group: %d | State: %d", userid, level, state );
if (level < castergroup) { /* only show pass if your gm level is greater than the one you're searching for */
- if( strlen(pincode) )
- inter_to_fd(fd, u_fd, aid, "Password: %s (PIN:%s)", user_pass, pincode );
+ if( strlen(pin_code) )
+ inter_to_fd(fd, u_fd, aid, "Password: %s (PIN:%s)", user_pass, pin_code );
else
inter_to_fd(fd, u_fd, aid, "Password: %s", user_pass );
}
diff --git a/src/common/HPMi.h b/src/common/HPMi.h
index 5e44b80c7..c8bce8ee8 100644
--- a/src/common/HPMi.h
+++ b/src/common/HPMi.h
@@ -91,7 +91,7 @@ HPExport struct HPMi_interface {
bool (*addPacket) (unsigned short cmd, unsigned short length, void (*receive)(int fd), unsigned int point, unsigned int pluginID);
} HPMi_s;
#ifndef _HPM_H_
- HPExport struct HPMi_interface *HPMi;
+HPExport struct HPMi_interface *HPMi;
#endif
#endif /* _HPMi_H_ */
diff --git a/src/common/console.c b/src/common/console.c
index c9772ecfd..6f25bd2fd 100644
--- a/src/common/console.c
+++ b/src/common/console.c
@@ -386,8 +386,8 @@ void console_parse_init(void) {
iTimer->add_timer_interval(iTimer->gettick() + 1000, console->parse_timer, 0, 0, 500);/* start listening in 1s; re-try every 0.5s */
}
-void console_setSQL(Sql *SQL) {
- console->SQL = SQL;
+void console_setSQL(Sql *SQL_handle) {
+ console->SQL = SQL_handle;
}
#endif /* CONSOLE_INPUT */
diff --git a/src/common/console.h b/src/common/console.h
index 214a41175..cef898f17 100644
--- a/src/common/console.h
+++ b/src/common/console.h
@@ -64,7 +64,7 @@ struct console_interface {
void (*load_defaults) (void);
void (*parse_list_subs) (struct CParseEntry *cmd, unsigned char depth);
void (*addCommand) (char *name, CParseFunc func);
- void (*setSQL) (Sql *SQL);
+ void (*setSQL) (Sql *SQL_handle);
#endif
};
diff --git a/src/common/strlib.c b/src/common/strlib.c
index 686b2e47d..e45cb0789 100644
--- a/src/common/strlib.c
+++ b/src/common/strlib.c
@@ -444,9 +444,9 @@ bool bin2hex(char* output, unsigned char* input, size_t count)
/// Parses a single field in a delim-separated string.
/// The delimiter after the field is skipped.
///
-/// @param sv Parse state
+/// @param svstate Parse state
/// @return 1 if a field was parsed, 0 if already done, -1 on error.
-int sv_parse_next(struct s_svstate* sv)
+int sv_parse_next(struct s_svstate* svstate)
{
enum {
START_OF_FIELD,
@@ -462,13 +462,13 @@ int sv_parse_next(struct s_svstate* sv)
char delim;
int i;
- if( sv == NULL )
+ if( svstate == NULL )
return -1;// error
- str = sv->str;
- len = sv->len;
- opt = sv->opt;
- delim = sv->delim;
+ str = svstate->str;
+ len = svstate->len;
+ opt = svstate->opt;
+ delim = svstate->delim;
// check opt
if( delim == '\n' && (opt&(SV_TERMINATE_CRLF|SV_TERMINATE_LF)) )
@@ -482,9 +482,9 @@ int sv_parse_next(struct s_svstate* sv)
return -1;// error
}
- if( sv->done || str == NULL )
+ if( svstate->done || str == NULL )
{
- sv->done = true;
+ svstate->done = true;
return 0;// nothing to parse
}
@@ -495,10 +495,10 @@ int sv_parse_next(struct s_svstate* sv)
((opt&SV_TERMINATE_CR) && str[i] == '\r') || \
((opt&SV_TERMINATE_CRLF) && i+1 < len && str[i] == '\r' && str[i+1] == '\n') )
#define IS_C_ESCAPE() ( (opt&SV_ESCAPE_C) && str[i] == '\\' )
-#define SET_FIELD_START() sv->start = i
-#define SET_FIELD_END() sv->end = i
+#define SET_FIELD_START() svstate->start = i
+#define SET_FIELD_END() svstate->end = i
- i = sv->off;
+ i = svstate->off;
state = START_OF_FIELD;
while( state != END )
{
@@ -578,14 +578,14 @@ int sv_parse_next(struct s_svstate* sv)
else
++i;// CR or LF
#endif
- sv->done = true;
+ svstate->done = true;
state = END;
break;
}
}
if( IS_END() )
- sv->done = true;
- sv->off = i;
+ svstate->done = true;
+ svstate->off = i;
#undef IS_END
#undef IS_DELIM
@@ -619,31 +619,31 @@ int sv_parse_next(struct s_svstate* sv)
/// @param opt Options that determine the parsing behaviour
/// @return Number of fields found in the string or -1 if an error occured
int sv_parse(const char* str, int len, int startoff, char delim, int* out_pos, int npos, enum e_svopt opt) {
- struct s_svstate sv;
+ struct s_svstate svstate;
int count;
// initialize
if( out_pos == NULL ) npos = 0;
for( count = 0; count < npos; ++count )
out_pos[count] = -1;
- sv.str = str;
- sv.len = len;
- sv.off = startoff;
- sv.opt = opt;
- sv.delim = delim;
- sv.done = false;
+ svstate.str = str;
+ svstate.len = len;
+ svstate.off = startoff;
+ svstate.opt = opt;
+ svstate.delim = delim;
+ svstate.done = false;
// parse
count = 0;
if( npos > 0 ) out_pos[0] = startoff;
- while( !sv.done ) {
+ while( !svstate.done ) {
++count;
- if( sv_parse_next(&sv) <= 0 )
+ if( sv_parse_next(&svstate) <= 0 )
return -1;// error
- if( npos > count*2 ) out_pos[count*2] = sv.start;
- if( npos > count*2+1 ) out_pos[count*2+1] = sv.end;
+ if( npos > count*2 ) out_pos[count*2] = svstate.start;
+ if( npos > count*2+1 ) out_pos[count*2+1] = svstate.end;
}
- if( npos > 1 ) out_pos[1] = sv.off;
+ if( npos > 1 ) out_pos[1] = svstate.off;
return count;
}
diff --git a/src/common/strlib.h b/src/common/strlib.h
index 9b1875d45..5ef455a0e 100644
--- a/src/common/strlib.h
+++ b/src/common/strlib.h
@@ -124,9 +124,9 @@ struct sv_interface {
/// Parses a single field in a delim-separated string.
/// The delimiter after the field is skipped.
///
- /// @param sv Parse state
+ /// @param svstate Parse state
/// @return 1 if a field was parsed, 0 if done, -1 on error.
- int (*parse_next) (struct s_svstate* sv);
+ int (*parse_next) (struct s_svstate* svstate);
/// Parses a delim-separated string.
/// Starts parsing at startoff and fills the pos array with position pairs.
diff --git a/src/config/const.h b/src/config/const.h
index f0902759d..7badb1071 100644
--- a/src/config/const.h
+++ b/src/config/const.h
@@ -53,39 +53,42 @@
/* pointer size fix which fixes several gcc warnings */
#ifdef __64BIT__
- #define __64BPTRSIZE(y) (intptr)y
+ #define __64BPTRSIZE(y) ((intptr)(y))
#else
- #define __64BPTRSIZE(y) y
+ #define __64BPTRSIZE(y) (y)
#endif
/* ATCMD_FUNC(mobinfo) HIT and FLEE calculations */
#ifdef RENEWAL
- #define MOB_FLEE(mob) ( mob->lv + mob->status.agi + 100 )
- #define MOB_HIT(mob) ( mob->lv + mob->status.dex + 150 )
- #define RE_SKILL_REDUCTION(){ \
- wd.damage = battle->calc_elefix(src, target, skill_id, skill_lv, battle->calc_cardfix(BF_WEAPON, src, target, nk, s_ele, s_ele_, wd.damage, 0, wd.flag), nk, n_ele, s_ele, s_ele_, false, flag.arrow); \
- if( flag.lh ) \
- wd.damage2 = battle->calc_elefix(src, target, skill_id, skill_lv, battle->calc_cardfix(BF_WEAPON, src, target, nk, s_ele, s_ele_, wd.damage2, 1, wd.flag), nk, n_ele, s_ele, s_ele_, true, flag.arrow); \
- }
+ #define MOB_FLEE(mobdata) ( (mobdata)->lv + (mobdata)->status.agi + 100 )
+ #define MOB_HIT(mobdata) ( (mobdata)->lv + (mobdata)->status.dex + 150 )
+ #define RE_SKILL_REDUCTION() do { \
+ wd.damage = battle->calc_elefix(src, target, skill_id, skill_lv, battle->calc_cardfix(BF_WEAPON, src, target, nk, s_ele, s_ele_, wd.damage, 0, wd.flag), nk, n_ele, s_ele, s_ele_, false, flag.arrow); \
+ if( flag.lh ) \
+ wd.damage2 = battle->calc_elefix(src, target, skill_id, skill_lv, battle->calc_cardfix(BF_WEAPON, src, target, nk, s_ele, s_ele_, wd.damage2, 1, wd.flag), nk, n_ele, s_ele, s_ele_, true, flag.arrow); \
+ } while(0)
#else
- #define MOB_FLEE(mob) ( mob->lv + mob->status.agi )
- #define MOB_HIT(mob) ( mob->lv + mob->status.dex )
+ #define MOB_FLEE(mobdata) ( (mobdata)->lv + (mobdata)->status.agi )
+ #define MOB_HIT(mobdata) ( (mobdata)->lv + (mobdata)->status.dex )
#endif
/* Renewal's dmg level modifier, used as a macro for a easy way to turn off. */
#ifdef RENEWAL_LVDMG
- #define RE_LVL_DMOD(val) \
- if( iStatus->get_lv(src) > 100 && val > 0 ) \
- skillratio = skillratio * iStatus->get_lv(src) / val;
- #define RE_LVL_MDMOD(val) \
- if( iStatus->get_lv(src) > 100 && val > 0) \
- md.damage = md.damage * iStatus->get_lv(src) / val;
+ #define RE_LVL_DMOD(val) do { \
+ if( iStatus->get_lv(src) > 100 && (val) > 0 ) \
+ skillratio = skillratio * iStatus->get_lv(src) / (val); \
+ } while(0)
+ #define RE_LVL_MDMOD(val) do { \
+ if( iStatus->get_lv(src) > 100 && (val) > 0) \
+ md.damage = md.damage * iStatus->get_lv(src) / (val); \
+ } while(0)
/* ranger traps special */
- #define RE_LVL_TMDMOD() \
+ #define RE_LVL_TMDMOD() do { \
if( iStatus->get_lv(src) > 100 ) \
- md.damage = md.damage * 150 / 100 + md.damage * iStatus->get_lv(src) / 100;
+ md.damage = md.damage * 150 / 100 + md.damage * iStatus->get_lv(src) / 100; \
+ } while(0)
#else
- #define RE_LVL_DMOD(val)
+ #define RE_LVL_DMOD(val)
#define RE_LVL_MDMOD(val)
#define RE_LVL_TMDMOD()
#endif
@@ -100,10 +103,10 @@
// Renewal variable cast time reduction
#ifdef RENEWAL_CAST
- #define VARCAST_REDUCTION(val){ \
- if( (varcast_r += val) != 0 && varcast_r >= 0 ) \
- time = time * (1 - (float)min(val, 100) / 100); \
- }
+ #define VARCAST_REDUCTION(val) do { \
+ if( (varcast_r += (val)) != 0 && varcast_r >= 0 ) \
+ time = time * (1 - (float)min((val), 100) / 100); \
+ } while(0)
#endif
/* console_input doesn't go well with minicore */
diff --git a/src/map/atcommand.c b/src/map/atcommand.c
index fa3108df8..948ce786f 100644
--- a/src/map/atcommand.c
+++ b/src/map/atcommand.c
@@ -60,7 +60,7 @@ static char atcmd_player_name[NAME_LENGTH];
static AtCommandInfo* get_atcommandinfo_byname(const char *name); // @help
static const char* atcommand_checkalias(const char *aliasname); // @help
-static void atcommand_get_suggestions(struct map_session_data* sd, const char *name, bool atcommand); // @help
+static void atcommand_get_suggestions(struct map_session_data* sd, const char *name, bool is_atcmd_cmd); // @help
// @commands (script-based)
struct atcmd_binding_data* get_atcommandbind_byname(const char* name) {
diff --git a/src/map/battle.c b/src/map/battle.c
index 85fa2cb98..9f2ec9189 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -604,32 +604,31 @@ int64 battle_calc_sizefix(struct map_session_data *sd, int64 damage, int type, i
/*==========================================
* Passive skill damages increases
*------------------------------------------*/
-int64 battle_addmastery(struct map_session_data *sd,struct block_list *target,int64 dmg,int type)
-{
- int64 damage,skill;
+int64 battle_addmastery(struct map_session_data *sd,struct block_list *target,int64 dmg,int type) {
+ int64 damage;
struct status_data *status = iStatus->get_status_data(target);
- int weapon;
+ int weapon, skill_lv;
damage = dmg;
nullpo_ret(sd);
- if((skill = pc->checkskill(sd,AL_DEMONBANE)) > 0 &&
+ if((skill_lv = pc->checkskill(sd,AL_DEMONBANE)) > 0 &&
target->type == BL_MOB && //This bonus doesnt work against players.
(battle->check_undead(status->race,status->def_ele) || status->race==RC_DEMON) )
- damage += (int)(skill*(3+sd->status.base_level/20.0));
- //damage += (skill * 3);
- if( (skill = pc->checkskill(sd, RA_RANGERMAIN)) > 0 && (status->race == RC_BRUTE || status->race == RC_PLANT || status->race == RC_FISH) )
- damage += (skill * 5);
- if( (skill = pc->checkskill(sd,NC_RESEARCHFE)) > 0 && (status->def_ele == ELE_FIRE || status->def_ele == ELE_EARTH) )
- damage += (skill * 10);
+ damage += (int)(skill_lv*(3+sd->status.base_level/20.0));
+ //damage += (skill_lv * 3);
+ if( (skill_lv = pc->checkskill(sd, RA_RANGERMAIN)) > 0 && (status->race == RC_BRUTE || status->race == RC_PLANT || status->race == RC_FISH) )
+ damage += (skill_lv * 5);
+ if( (skill_lv = pc->checkskill(sd,NC_RESEARCHFE)) > 0 && (status->def_ele == ELE_FIRE || status->def_ele == ELE_EARTH) )
+ damage += (skill_lv * 10);
if( pc_ismadogear(sd) )
damage += 20 + 20 * pc->checkskill(sd, NC_MADOLICENCE);
#ifdef RENEWAL
- if( (skill = pc->checkskill(sd,BS_WEAPONRESEARCH)) > 0 )
- damage += (skill * 2);
+ if( (skill_lv = pc->checkskill(sd,BS_WEAPONRESEARCH)) > 0 )
+ damage += (skill_lv * 2);
#endif
- if((skill = pc->checkskill(sd,HT_BEASTBANE)) > 0 && (status->race==RC_BRUTE || status->race==RC_INSECT) ) {
- damage += (skill * 4);
+ if((skill_lv = pc->checkskill(sd,HT_BEASTBANE)) > 0 && (status->race==RC_BRUTE || status->race==RC_INSECT) ) {
+ damage += (skill_lv * 4);
if (sd->sc.data[SC_SOULLINK] && sd->sc.data[SC_SOULLINK]->val2 == SL_HUNTER)
damage += sd->status.str;
}
@@ -638,75 +637,74 @@ int64 battle_addmastery(struct map_session_data *sd,struct block_list *target,in
weapon = sd->weapontype1;
else
weapon = sd->weapontype2;
- switch(weapon)
- {
+ switch(weapon) {
case W_1HSWORD:
#ifdef RENEWAL
- if((skill = pc->checkskill(sd,AM_AXEMASTERY)) > 0)
- damage += (skill * 3);
+ if((skill_lv = pc->checkskill(sd,AM_AXEMASTERY)) > 0)
+ damage += (skill_lv * 3);
#endif
case W_DAGGER:
- if((skill = pc->checkskill(sd,SM_SWORD)) > 0)
- damage += (skill * 4);
- if((skill = pc->checkskill(sd,GN_TRAINING_SWORD)) > 0)
- damage += skill * 10;
+ if((skill_lv = pc->checkskill(sd,SM_SWORD)) > 0)
+ damage += (skill_lv * 4);
+ if((skill_lv = pc->checkskill(sd,GN_TRAINING_SWORD)) > 0)
+ damage += skill_lv * 10;
break;
case W_2HSWORD:
#ifdef RENEWAL
- if((skill = pc->checkskill(sd,AM_AXEMASTERY)) > 0)
- damage += (skill * 3);
+ if((skill_lv = pc->checkskill(sd,AM_AXEMASTERY)) > 0)
+ damage += (skill_lv * 3);
#endif
- if((skill = pc->checkskill(sd,SM_TWOHAND)) > 0)
- damage += (skill * 4);
+ if((skill_lv = pc->checkskill(sd,SM_TWOHAND)) > 0)
+ damage += (skill_lv * 4);
break;
case W_1HSPEAR:
case W_2HSPEAR:
- if((skill = pc->checkskill(sd,KN_SPEARMASTERY)) > 0) {
+ if((skill_lv = pc->checkskill(sd,KN_SPEARMASTERY)) > 0) {
if(pc_isridingdragon(sd))
- damage += (skill * 10);
+ damage += (skill_lv * 10);
else if(pc_isriding(sd))
- damage += (skill * 5);
+ damage += (skill_lv * 5);
else
- damage += (skill * 4);
+ damage += (skill_lv * 4);
}
break;
case W_1HAXE:
case W_2HAXE:
- if((skill = pc->checkskill(sd,AM_AXEMASTERY)) > 0)
- damage += (skill * 3);
- if((skill = pc->checkskill(sd,NC_TRAININGAXE)) > 0)
- damage += (skill * 5);
+ if((skill_lv = pc->checkskill(sd,AM_AXEMASTERY)) > 0)
+ damage += (skill_lv * 3);
+ if((skill_lv = pc->checkskill(sd,NC_TRAININGAXE)) > 0)
+ damage += (skill_lv * 5);
break;
case W_MACE:
case W_2HMACE:
- if((skill = pc->checkskill(sd,PR_MACEMASTERY)) > 0)
- damage += (skill * 3);
- if((skill = pc->checkskill(sd,NC_TRAININGAXE)) > 0)
- damage += (skill * 5);
+ if((skill_lv = pc->checkskill(sd,PR_MACEMASTERY)) > 0)
+ damage += (skill_lv * 3);
+ if((skill_lv = pc->checkskill(sd,NC_TRAININGAXE)) > 0)
+ damage += (skill_lv * 5);
break;
case W_FIST:
- if((skill = pc->checkskill(sd,TK_RUN)) > 0)
- damage += (skill * 10);
+ if((skill_lv = pc->checkskill(sd,TK_RUN)) > 0)
+ damage += (skill_lv * 10);
// No break, fallthrough to Knuckles
case W_KNUCKLE:
- if((skill = pc->checkskill(sd,MO_IRONHAND)) > 0)
- damage += (skill * 3);
+ if((skill_lv = pc->checkskill(sd,MO_IRONHAND)) > 0)
+ damage += (skill_lv * 3);
break;
case W_MUSICAL:
- if((skill = pc->checkskill(sd,BA_MUSICALLESSON)) > 0)
- damage += (skill * 3);
+ if((skill_lv = pc->checkskill(sd,BA_MUSICALLESSON)) > 0)
+ damage += (skill_lv * 3);
break;
case W_WHIP:
- if((skill = pc->checkskill(sd,DC_DANCINGLESSON)) > 0)
- damage += (skill * 3);
+ if((skill_lv = pc->checkskill(sd,DC_DANCINGLESSON)) > 0)
+ damage += (skill_lv * 3);
break;
case W_BOOK:
- if((skill = pc->checkskill(sd,SA_ADVANCEDBOOK)) > 0)
- damage += (skill * 3);
+ if((skill_lv = pc->checkskill(sd,SA_ADVANCEDBOOK)) > 0)
+ damage += (skill_lv * 3);
break;
case W_KATAR:
- if((skill = pc->checkskill(sd,AS_KATAR)) > 0)
- damage += (skill * 3);
+ if((skill_lv = pc->checkskill(sd,AS_KATAR)) > 0)
+ damage += (skill_lv * 3);
break;
}
@@ -716,8 +714,8 @@ int64 battle_addmastery(struct map_session_data *sd,struct block_list *target,in
/*==========================================
* Calculates ATK masteries.
*------------------------------------------*/
-int64 battle_calc_masteryfix(struct block_list *src, struct block_list *target, uint16 skill_id, uint16 skill_lv, int64 damage, int div, bool left, bool weapon){
- int skill, i;
+int64 battle_calc_masteryfix(struct block_list *src, struct block_list *target, uint16 skill_id, uint16 skill_lv, int64 damage, int div, bool left, bool weapon) {
+ int skill2_lv, i;
struct status_change *sc;
struct map_session_data *sd;
struct status_data *tstatus;
@@ -742,12 +740,12 @@ int64 battle_calc_masteryfix(struct block_list *src, struct block_list *target,
case CR_ACIDDEMONSTRATION:
return damage;
case NJ_SYURIKEN:
- if( (skill = pc->checkskill(sd,NJ_TOBIDOUGU)) > 0
+ if( (skill2_lv = pc->checkskill(sd,NJ_TOBIDOUGU)) > 0
#ifndef RENEWAL
&& weapon
#endif
)
- damage += 3 * skill;
+ damage += 3 * skill2_lv;
break;
#ifndef RENEWAL
case NJ_KUNAI:
@@ -807,17 +805,17 @@ int64 battle_calc_masteryfix(struct block_list *src, struct block_list *target,
damage += div * sd->spiritball * 3;
if( skill_id != CR_SHIELDBOOMERANG ) // Only Shield boomerang doesn't takes the Star Crumbs bonus.
damage += div * (left ? sd->left_weapon.star : sd->right_weapon.star);
- if( skill_id != MC_CARTREVOLUTION && (skill=pc->checkskill(sd,BS_HILTBINDING)) > 0 )
+ if( skill_id != MC_CARTREVOLUTION && (skill2_lv=pc->checkskill(sd,BS_HILTBINDING)) > 0 )
damage += 4;
- if(sd->status.party_id && (skill=pc->checkskill(sd,TK_POWER)) > 0){
+ if(sd->status.party_id && (skill2_lv=pc->checkskill(sd,TK_POWER)) > 0) {
if( (i = party_foreachsamemap(party->sub_count, sd, 0)) > 1 )
- damage += 2 * skill * i * (damage /*+ unknown value*/) / 100 /*+ unknown value*/;
+ damage += 2 * skill2_lv * i * (damage /*+ unknown value*/) / 100 /*+ unknown value*/;
}
#else
if( skill_id != ASC_BREAKER && weapon ) // Adv Katar Mastery is does not applies to ASC_BREAKER, but other masteries DO apply >_>
- if( sd->status.weapon == W_KATAR && (skill=pc->checkskill(sd,ASC_KATAR)) > 0 )
- damage += damage * (10 + 2 * skill) / 100;
+ if( sd->status.weapon == W_KATAR && (skill2_lv=pc->checkskill(sd,ASC_KATAR)) > 0 )
+ damage += damage * (10 + 2 * skill2_lv) / 100;
#endif
// percentage factor masteries
@@ -825,18 +823,18 @@ int64 battle_calc_masteryfix(struct block_list *src, struct block_list *target,
i = 2; //Star anger
else
ARR_FIND(0, MAX_PC_FEELHATE, i, iStatus->get_class(target) == sd->hate_mob[i]);
- if ( i < MAX_PC_FEELHATE && (skill=pc->checkskill(sd,sg_info[i].anger_id)) && weapon ){
+ if ( i < MAX_PC_FEELHATE && (skill2_lv=pc->checkskill(sd,sg_info[i].anger_id)) && weapon ) {
int ratio = sd->status.base_level + status_get_dex(src) + status_get_luk(src);
if ( i == 2 ) ratio += status_get_str(src); //Star Anger
- if (skill < 4 )
- ratio /= (12 - 3 * skill);
+ if (skill2_lv < 4 )
+ ratio /= (12 - 3 * skill2_lv);
damage += damage * ratio / 100;
}
if( sd->status.class_ == JOB_ARCH_BISHOP_T || sd->status.class_ == JOB_ARCH_BISHOP ){
- if((skill = pc->checkskill(sd,AB_EUCHARISTICA)) > 0 &&
+ if((skill2_lv = pc->checkskill(sd,AB_EUCHARISTICA)) > 0 &&
(tstatus->race == RC_DEMON || tstatus->def_ele == ELE_DARK) )
- damage += damage * skill / 100;
+ damage += damage * skill2_lv / 100;
}
return damage;
@@ -3176,7 +3174,7 @@ void battle_consume_ammo(TBL_PC*sd, int skill_id, int lv) {
if (!battle_config.arrow_decrement)
return;
- if (skill) {
+ if (skill_id) {
qty = skill->get_ammo_qty(skill_id, lv);
if (!qty) qty = 1;
}
diff --git a/src/map/battle.h b/src/map/battle.h
index bbba415f5..f56bff3be 100644
--- a/src/map/battle.h
+++ b/src/map/battle.h
@@ -534,7 +534,7 @@ struct battle_interface {
/* is src and bl within range? */
bool (*check_range) (struct block_list *src,struct block_list *bl,int range);
/* consume amo for this skill and lv */
- void (*consume_ammo) (struct map_session_data* sd, int skill, int lv);
+ void (*consume_ammo) (struct map_session_data* sd, int skill_id, int lv);
int (*get_targeted_sub) (struct block_list *bl, va_list ap);
int (*get_enemy_sub) (struct block_list *bl, va_list ap);
int (*get_enemy_area_sub) (struct block_list *bl, va_list ap);
diff --git a/src/map/chat.c b/src/map/chat.c
index 28de86fe1..b7e561116 100644
--- a/src/map/chat.c
+++ b/src/map/chat.c
@@ -202,7 +202,7 @@ int chat_leavechat(struct map_session_data* sd, bool kicked)
if( cd->users == 0 && cd->owner->type == BL_PC ) { // Delete empty chatroom
- struct skill_unit* unit;
+ struct skill_unit* su;
struct skill_unit_group* group;
clif->clearchat(cd, 0);
@@ -211,10 +211,10 @@ int chat_leavechat(struct map_session_data* sd, bool kicked)
iMap->delblock(&cd->bl);
iMap->freeblock(&cd->bl);
- unit = iMap->find_skill_unit_oncell(&sd->bl, sd->bl.x, sd->bl.y, AL_WARP, NULL, 0);
- group = (unit != NULL) ? unit->group : NULL;
+ su = iMap->find_skill_unit_oncell(&sd->bl, sd->bl.x, sd->bl.y, AL_WARP, NULL, 0);
+ group = (su != NULL) ? su->group : NULL;
if (group != NULL)
- skill->unit_onplace(unit, &sd->bl, group->tick);
+ skill->unit_onplace(su, &sd->bl, group->tick);
return 1;
}
diff --git a/src/map/clif.c b/src/map/clif.c
index bb012c24d..513ec0d7c 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -4631,31 +4631,32 @@ void clif_getareachar_item(struct map_session_data* sd,struct flooritem_data* fi
/// 01c9 <id>.L <creator id>.L <x>.W <y>.W <unit id>.B <visible>.B <has msg>.B <msg>.80B (ZC_SKILL_ENTRY2)
/// 08c7 <lenght>.W <id> L <creator id>.L <x>.W <y>.W <unit id>.B <range>.W <visible>.B (ZC_SKILL_ENTRY3)
/// 099f <lenght>.W <id> L <creator id>.L <x>.W <y>.W <unit id>.L <range>.W <visible>.B (ZC_SKILL_ENTRY4)
-void clif_getareachar_skillunit(struct map_session_data *sd, struct skill_unit *unit) {
+void clif_getareachar_skillunit(struct map_session_data *sd, struct skill_unit *su) {
int fd = sd->fd, header = 0x11f, pos=0;
- if( unit->group->state.guildaura )
+ if( su->group->state.guildaura )
return;
#if PACKETVER >= 20130320
- if(unit->group->unit_id > UCHAR_MAX){
+ if(su->group->unit_id > UCHAR_MAX) {
header = 0x99f;
pos = 2;
}
#endif
#if PACKETVER >= 3
- if(unit->group->unit_id==UNT_GRAFFITI) { // Graffiti [Valaris]
+ if(su->group->unit_id==UNT_GRAFFITI) {
+ // Graffiti [Valaris]
WFIFOHEAD(fd,packet_len(0x1c9));
WFIFOW(fd, 0)=0x1c9;
- WFIFOL(fd, 2)=unit->bl.id;
- WFIFOL(fd, 6)=unit->group->src_id;
- WFIFOW(fd,10)=unit->bl.x;
- WFIFOW(fd,12)=unit->bl.y;
- WFIFOB(fd,14)=unit->group->unit_id;
+ WFIFOL(fd, 2)=su->bl.id;
+ WFIFOL(fd, 6)=su->group->src_id;
+ WFIFOW(fd,10)=su->bl.x;
+ WFIFOW(fd,12)=su->bl.y;
+ WFIFOB(fd,14)=su->group->unit_id;
WFIFOB(fd,15)=1;
WFIFOB(fd,16)=1;
- safestrncpy((char*)WFIFOP(fd,17),unit->group->valstr,MESSAGE_SIZE);
+ safestrncpy((char*)WFIFOP(fd,17),su->group->valstr,MESSAGE_SIZE);
WFIFOSET(fd,packet_len(0x1c9));
return;
}
@@ -4664,55 +4665,54 @@ void clif_getareachar_skillunit(struct map_session_data *sd, struct skill_unit *
WFIFOW(fd, 0)=header;
if(pos > 0)
WFIFOL(fd, pos)=packet_len(header);
- WFIFOL(fd, 2 + pos)=unit->bl.id;
- WFIFOL(fd, 6 + pos)=unit->group->src_id;
- WFIFOW(fd,10 + pos)=unit->bl.x;
- WFIFOW(fd,12 + pos)=unit->bl.y;
- if (battle_config.traps_setting&1 && skill->get_inf2(unit->group->skill_id)&INF2_TRAP)
+ WFIFOL(fd, 2 + pos)=su->bl.id;
+ WFIFOL(fd, 6 + pos)=su->group->src_id;
+ WFIFOW(fd,10 + pos)=su->bl.x;
+ WFIFOW(fd,12 + pos)=su->bl.y;
+ if (battle_config.traps_setting&1 && skill->get_inf2(su->group->skill_id)&INF2_TRAP)
WFIFOB(fd,14)=UNT_DUMMYSKILL; //Use invisible unit id for traps.
- else if (skill->get_unit_flag(unit->group->skill_id) & UF_RANGEDSINGLEUNIT && !(unit->val2 & UF_RANGEDSINGLEUNIT))
+ else if (skill->get_unit_flag(su->group->skill_id) & UF_RANGEDSINGLEUNIT && !(su->val2 & UF_RANGEDSINGLEUNIT))
WFIFOB(fd,14)=UNT_DUMMYSKILL; //Use invisible unit id for traps.
else if(pos > 0){
- WFIFOL(fd,16)=unit->group->unit_id;
- WFIFOW(fd,20)=unit->range;
+ WFIFOL(fd,16)=su->group->unit_id;
+ WFIFOW(fd,20)=su->range;
pos += 5;
}else
- WFIFOB(fd,14)=unit->group->unit_id;
+ WFIFOB(fd,14)=su->group->unit_id;
WFIFOB(fd,15 + pos)=1; // ignored by client (always gets set to 1)
WFIFOSET(fd,packet_len(header));
- if(unit->group->skill_id == WZ_ICEWALL)
- clif->changemapcell(fd,unit->bl.m,unit->bl.x,unit->bl.y,5,SELF);
+ if(su->group->skill_id == WZ_ICEWALL)
+ clif->changemapcell(fd,su->bl.m,su->bl.x,su->bl.y,5,SELF);
}
/*==========================================
* Server tells client to remove unit of id 'unit->bl.id'
*------------------------------------------*/
-void clif_clearchar_skillunit(struct skill_unit *unit, int fd) {
- nullpo_retv(unit);
+void clif_clearchar_skillunit(struct skill_unit *su, int fd) {
+ nullpo_retv(su);
WFIFOHEAD(fd,packet_len(0x120));
WFIFOW(fd, 0)=0x120;
- WFIFOL(fd, 2)=unit->bl.id;
+ WFIFOL(fd, 2)=su->bl.id;
WFIFOSET(fd,packet_len(0x120));
- if(unit->group && unit->group->skill_id == WZ_ICEWALL)
- clif->changemapcell(fd,unit->bl.m,unit->bl.x,unit->bl.y,unit->val2,SELF);
+ if(su->group && su->group->skill_id == WZ_ICEWALL)
+ clif->changemapcell(fd,su->bl.m,su->bl.x,su->bl.y,su->val2,SELF);
}
/// Removes a skill unit (ZC_SKILL_DISAPPEAR).
/// 0120 <id>.L
-void clif_skill_delunit(struct skill_unit *unit)
-{
+void clif_skill_delunit(struct skill_unit *su) {
unsigned char buf[16];
- nullpo_retv(unit);
+ nullpo_retv(su);
WBUFW(buf, 0)=0x120;
- WBUFL(buf, 2)=unit->bl.id;
- clif->send(buf,packet_len(0x120),&unit->bl,AREA);
+ WBUFL(buf, 2)=su->bl.id;
+ clif->send(buf,packet_len(0x120),&su->bl,AREA);
}
@@ -5330,57 +5330,57 @@ void clif_skill_poseffect(struct block_list *src,uint16 skill_id,int val,int x,i
* Tells all client's nearby 'unit' sight range that it spawned
*------------------------------------------*/
//FIXME: this is just an AREA version of clif_getareachar_skillunit()
-void clif_skill_setunit(struct skill_unit *unit)
-{
+void clif_skill_setunit(struct skill_unit *su) {
unsigned char buf[128];
int header = 0x11f, pos = 0;
- nullpo_retv(unit);
+ nullpo_retv(su);
- if( unit->group->state.guildaura )
+ if( su->group->state.guildaura )
return;
#if PACKETVER >= 20130320
- if(unit->group->unit_id > UCHAR_MAX){
+ if(su->group->unit_id > UCHAR_MAX) {
header = 0x99f;
pos = 2;
}
#endif
#if PACKETVER >= 3
- if(unit->group->unit_id==UNT_GRAFFITI) { // Graffiti [Valaris]
+ if(su->group->unit_id==UNT_GRAFFITI) {
+ // Graffiti [Valaris]
WBUFW(buf, 0)=0x1c9;
- WBUFL(buf, 2)=unit->bl.id;
- WBUFL(buf, 6)=unit->group->src_id;
- WBUFW(buf,10)=unit->bl.x;
- WBUFW(buf,12)=unit->bl.y;
- WBUFB(buf,14)=unit->group->unit_id;
+ WBUFL(buf, 2)=su->bl.id;
+ WBUFL(buf, 6)=su->group->src_id;
+ WBUFW(buf,10)=su->bl.x;
+ WBUFW(buf,12)=su->bl.y;
+ WBUFB(buf,14)=su->group->unit_id;
WBUFB(buf,15)=1;
WBUFB(buf,16)=1;
- safestrncpy((char*)WBUFP(buf,17),unit->group->valstr,MESSAGE_SIZE);
- clif->send(buf,packet_len(0x1c9),&unit->bl,AREA);
+ safestrncpy((char*)WBUFP(buf,17),su->group->valstr,MESSAGE_SIZE);
+ clif->send(buf,packet_len(0x1c9),&su->bl,AREA);
return;
}
#endif
WBUFW(buf, 0)=header;
if(pos > 0)
WBUFW(buf, pos)=packet_len(header);
- WBUFL(buf, 2 + pos)=unit->bl.id;
- WBUFL(buf, 6 + pos)=unit->group->src_id;
- WBUFW(buf,10 + pos)=unit->bl.x;
- WBUFW(buf,12 + pos)=unit->bl.y;
- if (unit->group->state.song_dance&0x1 && unit->val2&UF_ENSEMBLE)
- WBUFB(buf,14)=unit->val2&UF_SONG?UNT_DISSONANCE:UNT_UGLYDANCE;
- else if (skill->get_unit_flag(unit->group->skill_id) & UF_RANGEDSINGLEUNIT && !(unit->val2 & UF_RANGEDSINGLEUNIT))
- WBUFB(buf, 14) = UNT_DUMMYSKILL; // Only display the unit at center.
- else if(pos > 0){
- WBUFL(buf,16)=unit->group->unit_id;
- WBUFW(buf,20)=unit->range;
+ WBUFL(buf, 2 + pos)=su->bl.id;
+ WBUFL(buf, 6 + pos)=su->group->src_id;
+ WBUFW(buf,10 + pos)=su->bl.x;
+ WBUFW(buf,12 + pos)=su->bl.y;
+ if (su->group->state.song_dance&0x1 && su->val2&UF_ENSEMBLE)
+ WBUFB(buf,14)=su->val2&UF_SONG?UNT_DISSONANCE:UNT_UGLYDANCE;
+ else if (skill->get_unit_flag(su->group->skill_id) & UF_RANGEDSINGLEUNIT && !(su->val2 & UF_RANGEDSINGLEUNIT))
+ WBUFB(buf, 14) = UNT_DUMMYSKILL; // Only display the unit at center.
+ else if(pos > 0) {
+ WBUFL(buf,16)=su->group->unit_id;
+ WBUFW(buf,20)=su->range;
pos += 5;
}else
- WBUFB(buf,14)=unit->group->unit_id;
+ WBUFB(buf,14)=su->group->unit_id;
WBUFB(buf,15 + pos)=1; // ignored by client (always gets set to 1)
- clif->send(buf,packet_len(header),&unit->bl,AREA);
+ clif->send(buf,packet_len(header),&su->bl,AREA);
}
@@ -6370,8 +6370,7 @@ void clif_closevendingboard(struct block_list* bl, int fd)
/// Sends a list of items in a shop.
/// R 0133 <packet len>.W <owner id>.L { <price>.L <amount>.W <index>.W <type>.B <name id>.W <identified>.B <damaged>.B <refine>.B <card1>.W <card2>.W <card3>.W <card4>.W }* (ZC_PC_PURCHASE_ITEMLIST_FROMMC)
/// R 0800 <packet len>.W <owner id>.L <unique id>.L { <price>.L <amount>.W <index>.W <type>.B <name id>.W <identified>.B <damaged>.B <refine>.B <card1>.W <card2>.W <card3>.W <card4>.W }* (ZC_PC_PURCHASE_ITEMLIST_FROMMC2)
-void clif_vendinglist(struct map_session_data* sd, unsigned int id, struct s_vending* vending)
-{
+void clif_vendinglist(struct map_session_data* sd, unsigned int id, struct s_vending* vending_items) {
int i,fd;
int count;
struct map_session_data* vsd;
@@ -6384,7 +6383,7 @@ void clif_vendinglist(struct map_session_data* sd, unsigned int id, struct s_ven
#endif
nullpo_retv(sd);
- nullpo_retv(vending);
+ nullpo_retv(vending_items);
nullpo_retv(vsd=iMap->id2sd(id));
fd = sd->fd;
@@ -6398,13 +6397,12 @@ void clif_vendinglist(struct map_session_data* sd, unsigned int id, struct s_ven
WFIFOL(fd,8) = vsd->vender_id;
#endif
- for( i = 0; i < count; i++ )
- {
- int index = vending[i].index;
+ for( i = 0; i < count; i++ ) {
+ int index = vending_items[i].index;
struct item_data* data = itemdb->search(vsd->status.cart[index].nameid);
- WFIFOL(fd,offset+ 0+i*22) = vending[i].value;
- WFIFOW(fd,offset+ 4+i*22) = vending[i].amount;
- WFIFOW(fd,offset+ 6+i*22) = vending[i].index + 2;
+ WFIFOL(fd,offset+ 0+i*22) = vending_items[i].value;
+ WFIFOW(fd,offset+ 4+i*22) = vending_items[i].amount;
+ WFIFOW(fd,offset+ 6+i*22) = vending_items[i].index + 2;
WFIFOB(fd,offset+ 8+i*22) = itemtype(data->type);
WFIFOW(fd,offset+ 9+i*22) = ( data->view_id > 0 ) ? data->view_id : vsd->status.cart[index].nameid;
WFIFOB(fd,offset+11+i*22) = vsd->status.cart[index].identify;
@@ -6444,8 +6442,7 @@ void clif_buyvending(struct map_session_data* sd, int index, int amount, int fai
/// Shop creation success (ZC_PC_PURCHASE_MYITEMLIST).
/// 0136 <packet len>.W <owner id>.L { <price>.L <index>.W <amount>.W <type>.B <name id>.W <identified>.B <damaged>.B <refine>.B <card1>.W <card2>.W <card3>.W <card4>.W }*
-void clif_openvending(struct map_session_data* sd, int id, struct s_vending* vending)
-{
+void clif_openvending(struct map_session_data* sd, int id, struct s_vending* vending_items) {
int i,fd;
int count;
@@ -6459,11 +6456,11 @@ void clif_openvending(struct map_session_data* sd, int id, struct s_vending* ven
WFIFOW(fd,2) = 8+count*22;
WFIFOL(fd,4) = id;
for( i = 0; i < count; i++ ) {
- int index = vending[i].index;
+ int index = vending_items[i].index;
struct item_data* data = itemdb->search(sd->status.cart[index].nameid);
- WFIFOL(fd, 8+i*22) = vending[i].value;
- WFIFOW(fd,12+i*22) = vending[i].index + 2;
- WFIFOW(fd,14+i*22) = vending[i].amount;
+ WFIFOL(fd, 8+i*22) = vending_items[i].value;
+ WFIFOW(fd,12+i*22) = vending_items[i].index + 2;
+ WFIFOW(fd,14+i*22) = vending_items[i].amount;
WFIFOB(fd,16+i*22) = itemtype(data->type);
WFIFOW(fd,17+i*22) = ( data->view_id > 0 ) ? data->view_id : sd->status.cart[index].nameid;
WFIFOB(fd,19+i*22) = sd->status.cart[index].identify;
@@ -7022,23 +7019,23 @@ void clif_send_petdata(struct map_session_data* sd, struct pet_data* pd, int typ
void clif_send_petstatus(struct map_session_data *sd)
{
int fd;
- struct s_pet *pet;
+ struct s_pet *p;
nullpo_retv(sd);
nullpo_retv(sd->pd);
fd=sd->fd;
- pet = &sd->pd->pet;
+ p = &sd->pd->pet;
WFIFOHEAD(fd,packet_len(0x1a2));
WFIFOW(fd,0)=0x1a2;
- memcpy(WFIFOP(fd,2),pet->name,NAME_LENGTH);
- WFIFOB(fd,26)=battle_config.pet_rename?0:pet->rename_flag;
- WFIFOW(fd,27)=pet->level;
- WFIFOW(fd,29)=pet->hungry;
- WFIFOW(fd,31)=pet->intimate;
- WFIFOW(fd,33)=pet->equip;
+ memcpy(WFIFOP(fd,2),p->name,NAME_LENGTH);
+ WFIFOB(fd,26)=battle_config.pet_rename?0:p->rename_flag;
+ WFIFOW(fd,27)=p->level;
+ WFIFOW(fd,29)=p->hungry;
+ WFIFOW(fd,31)=p->intimate;
+ WFIFOW(fd,33)=p->equip;
#if PACKETVER >= 20081126
- WFIFOW(fd,35)=pet->class_;
+ WFIFOW(fd,35)=p->class_;
#endif
WFIFOSET(fd,packet_len(0x1a2));
}
@@ -16201,8 +16198,7 @@ void clif_party_show_picker(struct map_session_data * sd, struct item * item_dat
/// exp type:
/// 0 = normal exp gain/loss
/// 1 = quest exp gain/loss
-void clif_displayexp(struct map_session_data *sd, unsigned int exp, char type, bool quest)
-{
+void clif_displayexp(struct map_session_data *sd, unsigned int exp, char type, bool is_quest) {
int fd;
nullpo_retv(sd);
@@ -16214,7 +16210,7 @@ void clif_displayexp(struct map_session_data *sd, unsigned int exp, char type, b
WFIFOL(fd,2) = sd->bl.id;
WFIFOL(fd,6) = exp;
WFIFOW(fd,10) = type;
- WFIFOW(fd,12) = quest?1:0;// Normal exp is shown in yellow, quest exp is shown in purple.
+ WFIFOW(fd,12) = is_quest?1:0;// Normal exp is shown in yellow, quest exp is shown in purple.
WFIFOSET(fd,packet_len(0x7f6));
}
diff --git a/src/map/clif.h b/src/map/clif.h
index 4559e4209..e9bef2629 100644
--- a/src/map/clif.h
+++ b/src/map/clif.h
@@ -540,8 +540,8 @@ struct clif_interface {
void (*changetraplook) (struct block_list *bl,int val);
void (*refreshlook) (struct block_list *bl,int id,int type,int val,enum send_target target);
void (*class_change) (struct block_list *bl,int class_,int type);
- void (*skill_setunit) (struct skill_unit *unit);
- void (*skill_delunit) (struct skill_unit *unit);
+ void (*skill_setunit) (struct skill_unit *su);
+ void (*skill_delunit) (struct skill_unit *su);
void (*skillunit_update) (struct block_list* bl);
int (*clearunit_delayed_sub) (int tid, unsigned int tick, int id, intptr_t data);
void (*set_unit_idle) (struct block_list* bl, struct map_session_data *tsd,enum send_target target);
@@ -552,9 +552,9 @@ struct clif_interface {
#endif
void (*set_unit_walking) (struct block_list* bl, struct map_session_data *tsd,struct unit_data* ud, enum send_target target);
int (*calc_walkdelay) (struct block_list *bl,int delay, int type, int damage, int div_);
- void (*getareachar_skillunit) (struct map_session_data *sd, struct skill_unit *unit);
+ void (*getareachar_skillunit) (struct map_session_data *sd, struct skill_unit *su);
void (*getareachar_unit) (struct map_session_data* sd,struct block_list *bl);
- void (*clearchar_skillunit) (struct skill_unit *unit, int fd);
+ void (*clearchar_skillunit) (struct skill_unit *su, int fd);
int (*getareachar) (struct block_list* bl,va_list ap);
/* main unit spawn */
int (*spawn) (struct block_list *bl);
@@ -649,7 +649,7 @@ struct clif_interface {
void (*viewequip_ack) (struct map_session_data* sd, struct map_session_data* tsd);
void (*viewequip_fail) (struct map_session_data* sd);
void (*equpcheckbox) (struct map_session_data* sd);
- void (*displayexp) (struct map_session_data *sd, unsigned int exp, char type, bool quest);
+ void (*displayexp) (struct map_session_data *sd, unsigned int exp, char type, bool is_quest);
void (*font) (struct map_session_data *sd);
void (*progressbar) (struct map_session_data * sd, unsigned long color, unsigned int second);
void (*progressbar_abort) (struct map_session_data * sd);
@@ -761,9 +761,9 @@ struct clif_interface {
void (*openvendingreq) (struct map_session_data* sd, int num);
void (*showvendingboard) (struct block_list* bl, const char* message, int fd);
void (*closevendingboard) (struct block_list* bl, int fd);
- void (*vendinglist) (struct map_session_data* sd, unsigned int id, struct s_vending* vending);
+ void (*vendinglist) (struct map_session_data* sd, unsigned int id, struct s_vending* vending_list);
void (*buyvending) (struct map_session_data* sd, int index, int amount, int fail);
- void (*openvending) (struct map_session_data* sd, int id, struct s_vending* vending);
+ void (*openvending) (struct map_session_data* sd, int id, struct s_vending* vending_list);
void (*vendingreport) (struct map_session_data* sd, int index, int amount);
/* storage handling */
void (*storagelist) (struct map_session_data* sd, struct item* items, int items_length);
@@ -774,7 +774,7 @@ struct clif_interface {
/* skill-list handling */
void (*skillinfoblock) (struct map_session_data *sd);
void (*skillup) (struct map_session_data *sd,uint16 skill_id);
- void (*skillinfo) (struct map_session_data *sd,int skill, int inf);
+ void (*skillinfo) (struct map_session_data *sd,int skill_id, int inf);
void (*addskill) (struct map_session_data *sd, int id);
void (*deleteskill) (struct map_session_data *sd, int id);
/* party-specific */
diff --git a/src/map/homunculus.c b/src/map/homunculus.c
index c14df7e0b..1754b161c 100644
--- a/src/map/homunculus.c
+++ b/src/map/homunculus.c
@@ -1127,11 +1127,11 @@ void homunculus_read_db(void) {
memset(homun->db,0,sizeof(homun->db));
for(i = 0; i<ARRAYLENGTH(filename); i++) {
if( i > 0 ) {
- char path[256];
+ char filepath[256];
- sprintf(path, "%s/%s", iMap->db_path, filename[i]);
+ sprintf(filepath, "%s/%s", iMap->db_path, filename[i]);
- if( !exists(path) ) {
+ if( !exists(filepath) ) {
continue;
}
}
diff --git a/src/map/itemdb.c b/src/map/itemdb.c
index c2a25c2d4..2398ba04c 100644
--- a/src/map/itemdb.c
+++ b/src/map/itemdb.c
@@ -1379,13 +1379,13 @@ void itemdb_read_combos() {
uint32 lines = 0, count = 0;
char line[1024];
- char path[256];
+ char filepath[256];
FILE* fp;
- sprintf(path, "%s/%s", iMap->db_path, DBPATH"item_combo_db.txt");
+ sprintf(filepath, "%s/%s", iMap->db_path, DBPATH"item_combo_db.txt");
- if ((fp = fopen(path, "r")) == NULL) {
- ShowError("itemdb_read_combos: File not found \"%s\".\n", path);
+ if ((fp = fopen(filepath, "r")) == NULL) {
+ ShowError("itemdb_read_combos: File not found \"%s\".\n", filepath);
return;
}
@@ -1407,10 +1407,9 @@ void itemdb_read_combos() {
if (*p == '\0')
continue;// empty line
- if (!strchr(p,','))
- {
+ if (!strchr(p,',')) {
/* is there even a single column? */
- ShowError("itemdb_read_combos: Insufficient columns in line %d of \"%s\", skipping.\n", lines, path);
+ ShowError("itemdb_read_combos: Insufficient columns in line %d of \"%s\", skipping.\n", lines, filepath);
continue;
}
@@ -1424,13 +1423,13 @@ void itemdb_read_combos() {
p++;
if (str[1][0] != '{') {
- ShowError("itemdb_read_combos(#1): Invalid format (Script column) in line %d of \"%s\", skipping.\n", lines, path);
+ ShowError("itemdb_read_combos(#1): Invalid format (Script column) in line %d of \"%s\", skipping.\n", lines, filepath);
continue;
}
/* no ending key anywhere (missing \}\) */
if ( str[1][strlen(str[1])-1] != '}' ) {
- ShowError("itemdb_read_combos(#2): Invalid format (Script column) in line %d of \"%s\", skipping.\n", lines, path);
+ ShowError("itemdb_read_combos(#2): Invalid format (Script column) in line %d of \"%s\", skipping.\n", lines, filepath);
continue;
} else {
int items[MAX_ITEMS_PER_COMBO];
@@ -1439,14 +1438,14 @@ void itemdb_read_combos() {
int idx = 0;
if((retcount = itemdb->combo_split_atoi(str[0], items)) < 2) {
- ShowError("itemdb_read_combos: line %d of \"%s\" doesn't have enough items to make for a combo (min:2), skipping.\n", lines, path);
+ ShowError("itemdb_read_combos: line %d of \"%s\" doesn't have enough items to make for a combo (min:2), skipping.\n", lines, filepath);
continue;
}
/* validate */
for(v = 0; v < retcount; v++) {
if( !itemdb->exists(items[v]) ) {
- ShowError("itemdb_read_combos: line %d of \"%s\" contains unknown item ID %d, skipping.\n", lines, path,items[v]);
+ ShowError("itemdb_read_combos: line %d of \"%s\" contains unknown item ID %d, skipping.\n", lines, filepath,items[v]);
break;
}
}
@@ -1470,7 +1469,7 @@ void itemdb_read_combos() {
id->combos[idx]->nameid = aMalloc( retcount * sizeof(unsigned short) );
id->combos[idx]->count = retcount;
- id->combos[idx]->script = script->parse(str[1], path, lines, 0);
+ id->combos[idx]->script = script->parse(str[1], filepath, lines, 0);
id->combos[idx]->id = count;
id->combos[idx]->isRef = false;
/* populate ->nameid field */
@@ -1712,13 +1711,13 @@ int itemdb_readdb(void)
uint32 lines = 0, count = 0;
char line[1024];
- char path[256];
+ char filepath[256];
FILE* fp;
- sprintf(path, "%s/%s", iMap->db_path, filename[fi]);
- fp = fopen(path, "r");
+ sprintf(filepath, "%s/%s", iMap->db_path, filename[fi]);
+ fp = fopen(filepath, "r");
if( fp == NULL ) {
- ShowWarning("itemdb_readdb: File not found \"%s\", skipping.\n", path);
+ ShowWarning("itemdb_readdb: File not found \"%s\", skipping.\n", filepath);
continue;
}
@@ -1737,8 +1736,7 @@ int itemdb_readdb(void)
++p;
if( *p == '\0' )
continue;// empty line
- for( i = 0; i < 19; ++i )
- {
+ for( i = 0; i < 19; ++i ) {
str[i] = p;
p = strchr(p,',');
if( p == NULL )
@@ -1747,48 +1745,42 @@ int itemdb_readdb(void)
++p;
}
- if( p == NULL )
- {
- ShowError("itemdb_readdb: Insufficient columns in line %d of \"%s\" (item with id %d), skipping.\n", lines, path, atoi(str[0]));
+ if( p == NULL ) {
+ ShowError("itemdb_readdb: Insufficient columns in line %d of \"%s\" (item with id %d), skipping.\n", lines, filepath, atoi(str[0]));
continue;
}
// Script
- if( *p != '{' )
- {
- ShowError("itemdb_readdb: Invalid format (Script column) in line %d of \"%s\" (item with id %d), skipping.\n", lines, path, atoi(str[0]));
+ if( *p != '{' ) {
+ ShowError("itemdb_readdb: Invalid format (Script column) in line %d of \"%s\" (item with id %d), skipping.\n", lines, filepath, atoi(str[0]));
continue;
}
str[19] = p;
p = strstr(p+1,"},");
- if( p == NULL )
- {
- ShowError("itemdb_readdb: Invalid format (Script column) in line %d of \"%s\" (item with id %d), skipping.\n", lines, path, atoi(str[0]));
+ if( p == NULL ) {
+ ShowError("itemdb_readdb: Invalid format (Script column) in line %d of \"%s\" (item with id %d), skipping.\n", lines, filepath, atoi(str[0]));
continue;
}
p[1] = '\0';
p += 2;
// OnEquip_Script
- if( *p != '{' )
- {
- ShowError("itemdb_readdb: Invalid format (OnEquip_Script column) in line %d of \"%s\" (item with id %d), skipping.\n", lines, path, atoi(str[0]));
+ if( *p != '{' ) {
+ ShowError("itemdb_readdb: Invalid format (OnEquip_Script column) in line %d of \"%s\" (item with id %d), skipping.\n", lines, filepath, atoi(str[0]));
continue;
}
str[20] = p;
p = strstr(p+1,"},");
- if( p == NULL )
- {
- ShowError("itemdb_readdb: Invalid format (OnEquip_Script column) in line %d of \"%s\" (item with id %d), skipping.\n", lines, path, atoi(str[0]));
+ if( p == NULL ) {
+ ShowError("itemdb_readdb: Invalid format (OnEquip_Script column) in line %d of \"%s\" (item with id %d), skipping.\n", lines, filepath, atoi(str[0]));
continue;
}
p[1] = '\0';
p += 2;
// OnUnequip_Script (last column)
- if( *p != '{' )
- {
- ShowError("itemdb_readdb: Invalid format (OnUnequip_Script column) in line %d of \"%s\" (item with id %d), skipping.\n", lines, path, atoi(str[0]));
+ if( *p != '{' ) {
+ ShowError("itemdb_readdb: Invalid format (OnUnequip_Script column) in line %d of \"%s\" (item with id %d), skipping.\n", lines, filepath, atoi(str[0]));
continue;
}
str[21] = p;
@@ -1805,12 +1797,12 @@ int itemdb_readdb(void)
}
if( lcurly != rcurly ) {
- ShowError("itemdb_readdb: Mismatching curly braces in line %d of \"%s\" (item with id %d), skipping.\n", lines, path, atoi(str[0]));
+ ShowError("itemdb_readdb: Mismatching curly braces in line %d of \"%s\" (item with id %d), skipping.\n", lines, filepath, atoi(str[0]));
continue;
}
}
- if (!itemdb->parse_dbrow(str, path, lines, 0))
+ if (!itemdb->parse_dbrow(str, filepath, lines, 0))
continue;
count++;
diff --git a/src/map/map.c b/src/map/map.c
index 865682afc..eff45f472 100644
--- a/src/map/map.c
+++ b/src/map/map.c
@@ -483,7 +483,7 @@ int map_count_oncell(int16 m, int16 x, int16 y, int type)
struct skill_unit* map_find_skill_unit_oncell(struct block_list* target,int16 x,int16 y,uint16 skill_id,struct skill_unit* out_unit, int flag) {
int16 m,bx,by;
struct block_list *bl;
- struct skill_unit *unit;
+ struct skill_unit *su;
m = target->m;
if (x < 0 || y < 0 || (x >= map[m].xs) || (y >= map[m].ys))
@@ -497,11 +497,11 @@ struct skill_unit* map_find_skill_unit_oncell(struct block_list* target,int16 x,
if (bl->x != x || bl->y != y || bl->type != BL_SKILL)
continue;
- unit = (struct skill_unit *) bl;
- if( unit == out_unit || !unit->alive || !unit->group || unit->group->skill_id != skill_id )
+ su = (struct skill_unit *) bl;
+ if( su == out_unit || !su->alive || !su->group || su->group->skill_id != skill_id )
continue;
- if( !(flag&1) || battle->check_target(&unit->bl,target,unit->group->target_flag) > 0 )
- return unit;
+ if( !(flag&1) || battle->check_target(&su->bl,target,su->group->target_flag) > 0 )
+ return su;
}
return NULL;
}
@@ -1935,44 +1935,40 @@ struct s_mapiterator
/// @param flags Flags of the iterator
/// @param type Target types
/// @return Iterator
-struct s_mapiterator* mapit_alloc(enum e_mapitflags flags, enum bl_type types)
-{
- struct s_mapiterator* mapit;
+struct s_mapiterator* mapit_alloc(enum e_mapitflags flags, enum bl_type types) {
+ struct s_mapiterator* iter;
- mapit = ers_alloc(map_iterator_ers, struct s_mapiterator);
- mapit->flags = flags;
- mapit->types = types;
- if( types == BL_PC ) mapit->dbi = db_iterator(pc_db);
- else if( types == BL_MOB ) mapit->dbi = db_iterator(mobid_db);
- else mapit->dbi = db_iterator(id_db);
- return mapit;
+ iter = ers_alloc(map_iterator_ers, struct s_mapiterator);
+ iter->flags = flags;
+ iter->types = types;
+ if( types == BL_PC ) iter->dbi = db_iterator(pc_db);
+ else if( types == BL_MOB ) iter->dbi = db_iterator(mobid_db);
+ else iter->dbi = db_iterator(id_db);
+ return iter;
}
/// Frees the iterator.
///
-/// @param mapit Iterator
-void mapit_free(struct s_mapiterator* mapit)
-{
- nullpo_retv(mapit);
+/// @param iter Iterator
+void mapit_free(struct s_mapiterator* iter) {
+ nullpo_retv(iter);
- dbi_destroy(mapit->dbi);
- ers_free(map_iterator_ers, mapit);
+ dbi_destroy(iter->dbi);
+ ers_free(map_iterator_ers, iter);
}
/// Returns the first block_list that matches the description.
/// Returns NULL if not found.
///
-/// @param mapit Iterator
+/// @param iter Iterator
/// @return first block_list or NULL
-struct block_list* mapit_first(struct s_mapiterator* mapit)
-{
+struct block_list* mapit_first(struct s_mapiterator* iter) {
struct block_list* bl;
- nullpo_retr(NULL,mapit);
+ nullpo_retr(NULL,iter);
- for( bl = (struct block_list*)dbi_first(mapit->dbi); bl != NULL; bl = (struct block_list*)dbi_next(mapit->dbi) )
- {
- if( MAPIT_MATCHES(mapit,bl) )
+ for( bl = (struct block_list*)dbi_first(iter->dbi); bl != NULL; bl = (struct block_list*)dbi_next(iter->dbi) ) {
+ if( MAPIT_MATCHES(iter,bl) )
break;// found match
}
return bl;
@@ -1981,17 +1977,15 @@ struct block_list* mapit_first(struct s_mapiterator* mapit)
/// Returns the last block_list that matches the description.
/// Returns NULL if not found.
///
-/// @param mapit Iterator
+/// @param iter Iterator
/// @return last block_list or NULL
-struct block_list* mapit_last(struct s_mapiterator* mapit)
-{
+struct block_list* mapit_last(struct s_mapiterator* iter) {
struct block_list* bl;
- nullpo_retr(NULL,mapit);
+ nullpo_retr(NULL,iter);
- for( bl = (struct block_list*)dbi_last(mapit->dbi); bl != NULL; bl = (struct block_list*)dbi_prev(mapit->dbi) )
- {
- if( MAPIT_MATCHES(mapit,bl) )
+ for( bl = (struct block_list*)dbi_last(iter->dbi); bl != NULL; bl = (struct block_list*)dbi_prev(iter->dbi) ) {
+ if( MAPIT_MATCHES(iter,bl) )
break;// found match
}
return bl;
@@ -2000,20 +1994,18 @@ struct block_list* mapit_last(struct s_mapiterator* mapit)
/// Returns the next block_list that matches the description.
/// Returns NULL if not found.
///
-/// @param mapit Iterator
+/// @param iter Iterator
/// @return next block_list or NULL
-struct block_list* mapit_next(struct s_mapiterator* mapit)
-{
+struct block_list* mapit_next(struct s_mapiterator* iter) {
struct block_list* bl;
- nullpo_retr(NULL,mapit);
+ nullpo_retr(NULL,iter);
- for( ; ; )
- {
- bl = (struct block_list*)dbi_next(mapit->dbi);
+ for( ; ; ) {
+ bl = (struct block_list*)dbi_next(iter->dbi);
if( bl == NULL )
break;// end
- if( MAPIT_MATCHES(mapit,bl) )
+ if( MAPIT_MATCHES(iter,bl) )
break;// found a match
// try next
}
@@ -2023,20 +2015,18 @@ struct block_list* mapit_next(struct s_mapiterator* mapit)
/// Returns the previous block_list that matches the description.
/// Returns NULL if not found.
///
-/// @param mapit Iterator
+/// @param iter Iterator
/// @return previous block_list or NULL
-struct block_list* mapit_prev(struct s_mapiterator* mapit)
-{
+struct block_list* mapit_prev(struct s_mapiterator* iter) {
struct block_list* bl;
- nullpo_retr(NULL,mapit);
+ nullpo_retr(NULL,iter);
- for( ; ; )
- {
- bl = (struct block_list*)dbi_prev(mapit->dbi);
+ for( ; ; ) {
+ bl = (struct block_list*)dbi_prev(iter->dbi);
if( bl == NULL )
break;// end
- if( MAPIT_MATCHES(mapit,bl) )
+ if( MAPIT_MATCHES(iter,bl) )
break;// found a match
// try prev
}
@@ -2045,13 +2035,12 @@ struct block_list* mapit_prev(struct s_mapiterator* mapit)
/// Returns true if the current block_list exists in the database.
///
-/// @param mapit Iterator
+/// @param iter Iterator
/// @return true if it exists
-bool mapit_exists(struct s_mapiterator* mapit)
-{
- nullpo_retr(false,mapit);
+bool mapit_exists(struct s_mapiterator* iter) {
+ nullpo_retr(false,iter);
- return dbi_exists(mapit->dbi);
+ return dbi_exists(iter->dbi);
}
/*==========================================
@@ -4491,8 +4480,8 @@ void read_map_zone_db(void) {
disabled_skills_count = config_setting_length(skills);
/* validate */
for(h = 0; h < config_setting_length(skills); h++) {
- config_setting_t *skill = config_setting_get_elem(skills, h);
- name = config_setting_name(skill);
+ config_setting_t *skillinfo = config_setting_get_elem(skills, h);
+ name = config_setting_name(skillinfo);
if( !map_zone_str2skillid(name) ) {
ShowError("map_zone_db: unknown skill (%s) in disabled_skills for zone '%s', skipping skill...\n",name,zone->name);
config_setting_remove_elem(skills,h);
@@ -4506,10 +4495,10 @@ void read_map_zone_db(void) {
/* all ok, process */
CREATE( zone->disabled_skills, struct map_zone_disabled_skill_entry *, disabled_skills_count );
for(h = 0, v = 0; h < config_setting_length(skills); h++) {
- config_setting_t *skill = config_setting_get_elem(skills, h);
+ config_setting_t *skillinfo = config_setting_get_elem(skills, h);
struct map_zone_disabled_skill_entry * entry;
enum bl_type type;
- name = config_setting_name(skill);
+ name = config_setting_name(skillinfo);
if( (type = map_zone_bl_type(config_setting_get_string_elem(skills,h),&subtype)) ) { /* only add if enabled */
CREATE( entry, struct map_zone_disabled_skill_entry, 1 );
@@ -4710,8 +4699,8 @@ void read_map_zone_db(void) {
for(j = 0; j < disabled_skills_count_i; j++) {
int k;
for(k = 0; k < disabled_skills_count; k++) {
- config_setting_t *skill = config_setting_get_elem(skills, k);
- if( map_zone_str2skillid(config_setting_name(skill)) == izone->disabled_skills[j]->nameid ) {
+ config_setting_t *skillinfo = config_setting_get_elem(skills, k);
+ if( map_zone_str2skillid(config_setting_name(skillinfo)) == izone->disabled_skills[j]->nameid ) {
break;
}
}
diff --git a/src/map/map.h b/src/map/map.h
index 266d0ccde..e2d5261b0 100644
--- a/src/map/map.h
+++ b/src/map/map.h
@@ -711,12 +711,12 @@ struct s_mapiterator;
/* temporary until the map.c "Hercules Renewal Phase One" design is complete. */
struct mapit_interface {
struct s_mapiterator* (*alloc) (enum e_mapitflags flags, enum bl_type types);
- void (*free) (struct s_mapiterator* mapit);
- struct block_list* (*first) (struct s_mapiterator* mapit);
- struct block_list* (*last) (struct s_mapiterator* mapit);
- struct block_list* (*next) (struct s_mapiterator* mapit);
- struct block_list* (*prev) (struct s_mapiterator* mapit);
- bool (*exists) (struct s_mapiterator* mapit);
+ void (*free) (struct s_mapiterator* iter);
+ struct block_list* (*first) (struct s_mapiterator* iter);
+ struct block_list* (*last) (struct s_mapiterator* iter);
+ struct block_list* (*next) (struct s_mapiterator* iter);
+ struct block_list* (*prev) (struct s_mapiterator* iter);
+ bool (*exists) (struct s_mapiterator* iter);
} mapit_s;
struct mapit_interface *mapit;
diff --git a/src/map/mob.c b/src/map/mob.c
index 0c1ad0d5d..42e127b5f 100644
--- a/src/map/mob.c
+++ b/src/map/mob.c
@@ -3887,26 +3887,21 @@ bool mob_parse_dbrow(char** str)
/*==========================================
* mob_db.txt reading
*------------------------------------------*/
-bool mob_readdb_sub(char* fields[], int columns, int current)
-{
+bool mob_readdb_sub(char* fields[], int columns, int current) {
return mob->parse_dbrow(fields);
}
-void mob_readdb(void)
-{
+void mob_readdb(void) {
const char* filename[] = {
DBPATH"mob_db.txt",
"mob_db2.txt" };
int fi;
- for( fi = 0; fi < ARRAYLENGTH(filename); ++fi )
- {
- if(fi > 0)
- {
- char path[256];
- sprintf(path, "%s/%s", iMap->db_path, filename[fi]);
- if(!exists(path))
- {
+ for( fi = 0; fi < ARRAYLENGTH(filename); ++fi ) {
+ if(fi > 0) {
+ char filepath[256];
+ sprintf(filepath, "%s/%s", iMap->db_path, filename[fi]);
+ if(!exists(filepath)) {
continue;
}
}
@@ -4135,23 +4130,20 @@ bool mob_parse_row_chatdb(char** str, const char* source, int line, int* last_ms
/*==========================================
* mob_chat_db.txt reading [SnakeDrak]
*-------------------------------------------------------------------------*/
-void mob_readchatdb(void)
-{
+void mob_readchatdb(void) {
char arc[]="mob_chat_db.txt";
uint32 lines=0, count=0;
- char line[1024], path[256];
+ char line[1024], filepath[256];
int i, tmp=0;
FILE *fp;
- sprintf(path, "%s/%s", iMap->db_path, arc);
- fp=fopen(path, "r");
- if(fp == NULL)
- {
- ShowWarning("mob_readchatdb: File not found \"%s\", skipping.\n", path);
+ sprintf(filepath, "%s/%s", iMap->db_path, arc);
+ fp=fopen(filepath, "r");
+ if(fp == NULL) {
+ ShowWarning("mob_readchatdb: File not found \"%s\", skipping.\n", filepath);
return;
}
- while(fgets(line, sizeof(line), fp))
- {
+ while(fgets(line, sizeof(line), fp)) {
char *str[3], *p, *np;
int j=0;
@@ -4179,7 +4171,7 @@ void mob_readchatdb(void)
continue;
}
- if( !mob->parse_row_chatdb(str, path, lines, &tmp) )
+ if( !mob->parse_row_chatdb(str, filepath, lines, &tmp) )
continue;
count++;
@@ -4457,20 +4449,16 @@ void mob_readskilldb(void) {
"mob_skill_db2.txt" };
int fi;
- if( battle_config.mob_skill_rate == 0 )
- {
+ if( battle_config.mob_skill_rate == 0 ) {
ShowStatus("Mob skill use disabled. Not reading mob skills.\n");
return;
}
- for( fi = 0; fi < ARRAYLENGTH(filename); ++fi )
- {
- if(fi > 0)
- {
- char path[256];
- sprintf(path, "%s/%s", iMap->db_path, filename[fi]);
- if(!exists(path))
- {
+ for( fi = 0; fi < ARRAYLENGTH(filename); ++fi ) {
+ if(fi > 0) {
+ char filepath[256];
+ sprintf(filepath, "%s/%s", iMap->db_path, filename[fi]);
+ if(!exists(filepath)) {
continue;
}
}
diff --git a/src/map/npc.c b/src/map/npc.c
index 20caf2b67..6ab8df2fa 100644
--- a/src/map/npc.c
+++ b/src/map/npc.c
@@ -3835,13 +3835,13 @@ int npc_reload(void) {
}
//Unload all npc in the given file
-bool npc_unloadfile( const char* path ) {
+bool npc_unloadfile( const char* filepath ) {
DBIterator * iter = db_iterator(npc->name_db);
struct npc_data* nd = NULL;
bool found = false;
for( nd = dbi_first(iter); dbi_exists(iter); nd = dbi_next(iter) ) {
- if( nd->path && strcasecmp(nd->path,path) == 0 ) {
+ if( nd->path && strcasecmp(nd->path,filepath) == 0 ) {
found = true;
npc->unload_duplicates(nd);/* unload any npcs which could duplicate this but be in a different file */
npc->unload(nd, true);
diff --git a/src/map/npc.h b/src/map/npc.h
index 6c1ca0972..3c273fffb 100644
--- a/src/map/npc.h
+++ b/src/map/npc.h
@@ -213,7 +213,7 @@ struct npc_interface {
void (*setclass) (struct npc_data *nd, short class_);
int (*do_atcmd_event) (struct map_session_data *sd, const char *command, const char *message, const char *eventname);
const char* (*parse_function) (char *w1, char *w2, char *w3, char *w4, const char *start, const char *buffer, const char *filepath);
- void (*parse_mob2) (struct spawn_data *mob);
+ void (*parse_mob2) (struct spawn_data *mobspawn);
const char* (*parse_mob) (char *w1, char *w2, char *w3, char *w4, const char *start, const char *buffer, const char *filepath);
const char* (*parse_mapflag) (char *w1, char *w2, char *w3, char *w4, const char *start, const char *buffer, const char *filepath);
void (*parsesrcfile) (const char *filepath, bool runOnInit);
@@ -222,7 +222,7 @@ struct npc_interface {
int (*path_db_clear_sub) (DBKey key, DBData *data, va_list args);
int (*ev_label_db_clear_sub) (DBKey key, DBData *data, va_list args);
int (*reload) (void);
- bool (*unloadfile) (const char *path);
+ bool (*unloadfile) (const char *filepath);
void (*do_clear_npc) (void);
void (*debug_warps_sub) (struct npc_data *nd);
void (*debug_warps) (void);
diff --git a/src/map/pc.c b/src/map/pc.c
index 4738d816a..b5bceb2c7 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -1858,13 +1858,10 @@ static int pc_bonus_addeff(struct s_addeffect* effect, int max, enum sc_type id,
return 1;
}
-static int pc_bonus_addeff_onskill(struct s_addeffectonskill* effect, int max, enum sc_type id, short rate, short skill, unsigned char target)
-{
+static int pc_bonus_addeff_onskill(struct s_addeffectonskill* effect, int max, enum sc_type id, short rate, short skill_id, unsigned char target) {
int i;
- for( i = 0; i < max && effect[i].skill; i++ )
- {
- if( effect[i].id == id && effect[i].skill == skill && effect[i].target == target )
- {
+ for( i = 0; i < max && effect[i].skill; i++ ) {
+ if( effect[i].id == id && effect[i].skill == skill_id && effect[i].target == target ) {
effect[i].rate += rate;
return 1;
}
@@ -1875,7 +1872,7 @@ static int pc_bonus_addeff_onskill(struct s_addeffectonskill* effect, int max, e
}
effect[i].id = id;
effect[i].rate = rate;
- effect[i].skill = skill;
+ effect[i].skill = skill_id;
effect[i].target = target;
return 1;
}
@@ -1929,8 +1926,7 @@ static int pc_bonus_item_drop(struct s_add_drop *drop, const short max, short id
return 1;
}
-int pc_addautobonus(struct s_autobonus *bonus,char max,const char *script,short rate,unsigned int dur,short flag,const char *other_script,unsigned short pos,bool onskill)
-{
+int pc_addautobonus(struct s_autobonus *bonus,char max,const char *bonus_script,short rate,unsigned int dur,short flag,const char *other_script,unsigned short pos,bool onskill) {
int i;
ARR_FIND(0, max, i, bonus[i].rate == 0);
@@ -1960,7 +1956,7 @@ int pc_addautobonus(struct s_autobonus *bonus,char max,const char *script,short
bonus[i].active = INVALID_TIMER;
bonus[i].atk_type = flag;
bonus[i].pos = pos;
- bonus[i].bonus_script = aStrdup(script);
+ bonus[i].bonus_script = aStrdup(bonus_script);
bonus[i].other_script = other_script?aStrdup(other_script):NULL;
return 1;
}
@@ -3647,13 +3643,12 @@ int pc_insert_card(struct map_session_data* sd, int idx_card, int idx_equip)
/*==========================================
* Update buying value by skills
*------------------------------------------*/
-int pc_modifybuyvalue(struct map_session_data *sd,int orig_value)
-{
- int skill,val = orig_value,rate1 = 0,rate2 = 0;
- if((skill=pc->checkskill(sd,MC_DISCOUNT))>0) // merchant discount
- rate1 = 5+skill*2-((skill==10)? 1:0);
- if((skill=pc->checkskill(sd,RG_COMPULSION))>0) // rogue discount
- rate2 = 5+skill*4;
+int pc_modifybuyvalue(struct map_session_data *sd,int orig_value) {
+ int skill_lv,val = orig_value,rate1 = 0,rate2 = 0;
+ if((skill_lv=pc->checkskill(sd,MC_DISCOUNT))>0) // merchant discount
+ rate1 = 5+skill_lv*2-((skill_lv==10)? 1:0);
+ if((skill_lv=pc->checkskill(sd,RG_COMPULSION))>0) // rogue discount
+ rate2 = 5+skill_lv*4;
if(rate1 < rate2) rate1 = rate2;
if(rate1)
val = (int)((double)orig_value*(double)(100-rate1)/100.);
@@ -3666,11 +3661,10 @@ int pc_modifybuyvalue(struct map_session_data *sd,int orig_value)
/*==========================================
* Update selling value by skills
*------------------------------------------*/
-int pc_modifysellvalue(struct map_session_data *sd,int orig_value)
-{
- int skill,val = orig_value,rate = 0;
- if((skill=pc->checkskill(sd,MC_OVERCHARGE))>0) //OverCharge
- rate = 5+skill*2-((skill==10)? 1:0);
+int pc_modifysellvalue(struct map_session_data *sd,int orig_value) {
+ int skill_lv,val = orig_value,rate = 0;
+ if((skill_lv=pc->checkskill(sd,MC_OVERCHARGE))>0) //OverCharge
+ rate = 5+skill_lv*2-((skill_lv==10)? 1:0);
if(rate)
val = (int)((double)orig_value*(double)(100+rate)/100.);
if(val < 0) val = 0;
@@ -4760,9 +4754,8 @@ int pc_steal_item(struct map_session_data *sd,struct block_list *bl, uint16 skil
* 0 = fail
* 1 = success
*------------------------------------------*/
-int pc_steal_coin(struct map_session_data *sd,struct block_list *target)
-{
- int rate,skill;
+int pc_steal_coin(struct map_session_data *sd,struct block_list *target) {
+ int rate,skill_lv;
struct mob_data *md;
if(!sd || !target || target->type != BL_MOB)
return 0;
@@ -4775,10 +4768,9 @@ int pc_steal_coin(struct map_session_data *sd,struct block_list *target)
return 0;
// FIXME: This formula is either custom or outdated.
- skill = pc->checkskill(sd,RG_STEALCOIN)*10;
- rate = skill + (sd->status.base_level - md->level)*3 + sd->battle_status.dex*2 + sd->battle_status.luk*2;
- if(rnd()%1000 < rate)
- {
+ skill_lv = pc->checkskill(sd,RG_STEALCOIN)*10;
+ rate = skill_lv + (sd->status.base_level - md->level)*3 + sd->battle_status.dex*2 + sd->battle_status.luk*2;
+ if(rnd()%1000 < rate) {
int amount = md->level*10 + rnd()%100;
pc->getzeny(sd, amount, LOG_TYPE_STEAL, NULL);
@@ -5035,9 +5027,8 @@ int pc_randomwarp(struct map_session_data *sd, clr_type type) {
* Records a memo point at sd's current position
* pos - entry to replace, (-1: shift oldest entry out)
*------------------------------------------*/
-int pc_memo(struct map_session_data* sd, int pos)
-{
- int skill;
+int pc_memo(struct map_session_data* sd, int pos) {
+ int skill_lv;
nullpo_ret(sd);
@@ -5052,12 +5043,12 @@ int pc_memo(struct map_session_data* sd, int pos)
return 0; // invalid input
// check required skill level
- skill = pc->checkskill(sd, AL_WARP);
- if( skill < 1 ) {
+ skill_lv = pc->checkskill(sd, AL_WARP);
+ if( skill_lv < 1 ) {
clif->skill_memomessage(sd,2); // "You haven't learned Warp."
return 0;
}
- if( skill < 2 || skill - 2 < pos ) {
+ if( skill_lv < 2 || skill_lv - 2 < pos ) {
clif->skill_memomessage(sd,1); // "Skill Level is not high enough."
return 0;
}
@@ -5892,8 +5883,7 @@ static void pc_calcexp(struct map_session_data *sd, unsigned int *base_exp, unsi
/*==========================================
* Give x exp at sd player and calculate remaining exp for next lvl
*------------------------------------------*/
-int pc_gainexp(struct map_session_data *sd, struct block_list *src, unsigned int base_exp,unsigned int job_exp,bool quest)
-{
+int pc_gainexp(struct map_session_data *sd, struct block_list *src, unsigned int base_exp,unsigned int job_exp,bool is_quest) {
float nextbp=0, nextjp=0;
unsigned int nextb=0, nextj=0;
nullpo_ret(sd);
@@ -5957,9 +5947,9 @@ int pc_gainexp(struct map_session_data *sd, struct block_list *src, unsigned int
#if PACKETVER >= 20091027
if(base_exp)
- clif->displayexp(sd, base_exp, SP_BASEEXP, quest);
+ clif->displayexp(sd, base_exp, SP_BASEEXP, is_quest);
if(job_exp)
- clif->displayexp(sd, job_exp, SP_JOBEXP, quest);
+ clif->displayexp(sd, job_exp, SP_JOBEXP, is_quest);
#endif
if(sd->state.showexp) {
@@ -9388,7 +9378,7 @@ int map_night_timer(int tid, unsigned int tick, int id, intptr_t data)
return 0;
}
-void pc_setstand(struct map_session_data *sd){
+void pc_setstand(struct map_session_data *sd) {
nullpo_retv(sd);
status_change_end(&sd->bl, SC_TENSIONRELAX, INVALID_TIMER);
@@ -9402,20 +9392,20 @@ void pc_setstand(struct map_session_data *sd){
* Mechanic (MADO GEAR)
**/
void pc_overheat(struct map_session_data *sd, int val) {
- int heat = val, skill,
+ int heat = val, skill_lv,
limit[] = { 10, 20, 28, 46, 66 };
if( !pc_ismadogear(sd) || sd->sc.data[SC_OVERHEAT] )
return; // already burning
- skill = cap_value(pc->checkskill(sd,NC_MAINFRAME),0,4);
+ skill_lv = cap_value(pc->checkskill(sd,NC_MAINFRAME),0,4);
if( sd->sc.data[SC_OVERHEAT_LIMITPOINT] ) {
heat += sd->sc.data[SC_OVERHEAT_LIMITPOINT]->val1;
status_change_end(&sd->bl,SC_OVERHEAT_LIMITPOINT,INVALID_TIMER);
}
heat = max(0,heat); // Avoid negative HEAT
- if( heat >= limit[skill] )
+ if( heat >= limit[skill_lv] )
sc_start(&sd->bl,SC_OVERHEAT,100,0,1000);
else
sc_start(&sd->bl,SC_OVERHEAT_LIMITPOINT,100,heat,30000);
diff --git a/src/map/pc.h b/src/map/pc.h
index c8e7e17d5..4b90e7fc3 100644
--- a/src/map/pc.h
+++ b/src/map/pc.h
@@ -823,7 +823,7 @@ struct pc_interface {
int (*updateweightstatus) (struct map_session_data *sd);
- int (*addautobonus) (struct s_autobonus *bonus,char max,const char *script,short rate,unsigned int dur,short atk_type,const char *o_script,unsigned short pos,bool onskill);
+ int (*addautobonus) (struct s_autobonus *bonus,char max,const char *bonus_script,short rate,unsigned int dur,short atk_type,const char *o_script,unsigned short pos,bool onskill);
int (*exeautobonus) (struct map_session_data* sd,struct s_autobonus *bonus);
int (*endautobonus) (int tid, unsigned int tick, int id, intptr_t data);
int (*delautobonus) (struct map_session_data* sd,struct s_autobonus *bonus,char max,bool restore);
@@ -850,7 +850,7 @@ struct pc_interface {
unsigned int (*maxjoblv) (struct map_session_data *sd);
int (*checkbaselevelup) (struct map_session_data *sd);
int (*checkjoblevelup) (struct map_session_data *sd);
- int (*gainexp) (struct map_session_data*,struct block_list*,unsigned int,unsigned int, bool);
+ int (*gainexp) (struct map_session_data *sd, struct block_list *src, unsigned int base_exp, unsigned int job_exp, bool is_quest);
unsigned int (*nextbaseexp) (struct map_session_data *);
unsigned int (*thisbaseexp) (struct map_session_data *);
unsigned int (*nextjobexp) (struct map_session_data *);
diff --git a/src/map/pet.h b/src/map/pet.h
index b0e7cec6d..2f8e0b7c2 100644
--- a/src/map/pet.h
+++ b/src/map/pet.h
@@ -121,8 +121,8 @@ struct pet_interface {
int (*hungry_timer_delete) (struct pet_data *pd);
int (*performance) (struct map_session_data *sd, struct pet_data *pd);
int (*return_egg) (struct map_session_data *sd, struct pet_data *pd);
- int (*data_init) (struct map_session_data *sd, struct s_pet *pet);
- int (*birth_process) (struct map_session_data *sd, struct s_pet *pet);
+ int (*data_init) (struct map_session_data *sd, struct s_pet *petinfo);
+ int (*birth_process) (struct map_session_data *sd, struct s_pet *petinfo);
int (*recv_petdata) (int account_id, struct s_pet *p, int flag);
int (*select_egg) (struct map_session_data *sd, short egg_index);
int (*catch_process1) (struct map_session_data *sd, int target_class);
diff --git a/src/map/quest.c b/src/map/quest.c
index 9055b61fe..881037081 100644
--- a/src/map/quest.c
+++ b/src/map/quest.c
@@ -189,29 +189,28 @@ int quest_delete(TBL_PC * sd, int quest_id)
return 0;
}
-int quest_update_objective_sub(struct block_list *bl, va_list ap)
-{
+int quest_update_objective_sub(struct block_list *bl, va_list ap) {
struct map_session_data * sd;
- int mob, party;
+ int mob_id, party_id;
nullpo_ret(bl);
nullpo_ret(sd = (struct map_session_data *)bl);
- party = va_arg(ap,int);
- mob = va_arg(ap,int);
+ party_id = va_arg(ap,int);
+ mob_id = va_arg(ap,int);
if( !sd->avail_quests )
return 0;
- if( sd->status.party_id != party )
+ if( sd->status.party_id != party_id )
return 0;
- quest->update_objective(sd, mob);
+ quest->update_objective(sd, mob_id);
return 1;
}
-void quest_update_objective(TBL_PC * sd, int mob) {
+void quest_update_objective(TBL_PC * sd, int mob_id) {
int i,j;
for( i = 0; i < sd->avail_quests; i++ ) {
@@ -219,7 +218,7 @@ void quest_update_objective(TBL_PC * sd, int mob) {
continue;
for( j = 0; j < MAX_QUEST_OBJECTIVES; j++ )
- if( quest->db[sd->quest_index[i]].mob[j] == mob && sd->quest_log[i].count[j] < quest->db[sd->quest_index[i]].count[j] ) {
+ if( quest->db[sd->quest_index[i]].mob[j] == mob_id && sd->quest_log[i].count[j] < quest->db[sd->quest_index[i]].count[j] ) {
sd->quest_log[i].count[j]++;
sd->save_quest = true;
clif->quest_update_objective(sd,&sd->quest_log[i],sd->quest_index[i]);
diff --git a/src/map/quest.h b/src/map/quest.h
index 85c987f54..c127dd402 100644
--- a/src/map/quest.h
+++ b/src/map/quest.h
@@ -28,7 +28,7 @@ struct quest_interface {
int (*change) (TBL_PC *sd, int qid1, int qid2);
int (*delete) (TBL_PC *sd, int quest_id);
int (*update_objective_sub) (struct block_list *bl, va_list ap);
- void (*update_objective) (TBL_PC *sd, int mob);
+ void (*update_objective) (TBL_PC *sd, int mob_id);
int (*update_status) (TBL_PC *sd, int quest_id, quest_state status);
int (*check) (TBL_PC *sd, int quest_id, quest_check_type type);
int (*read_db) (void);
diff --git a/src/map/script.c b/src/map/script.c
index 87d2b475c..86d69658c 100644
--- a/src/map/script.c
+++ b/src/map/script.c
@@ -2761,11 +2761,10 @@ void pop_stack(struct script_state* st, int start, int end)
/*==========================================
* Release script dependent variable, dependent variable of function
*------------------------------------------*/
-void script_free_vars(struct DBMap* storage)
-{
- if( storage )
- {// destroy the storage construct containing the variables
- db_destroy(storage);
+void script_free_vars(struct DBMap* var_storage) {
+ if( var_storage ) {
+ // destroy the storage construct containing the variables
+ db_destroy(var_storage);
}
}
@@ -15496,17 +15495,15 @@ BUILDIN(mercenary_sc_start)
return true;
}
-BUILDIN(mercenary_get_calls)
-{
+BUILDIN(mercenary_get_calls) {
struct map_session_data *sd = script_rid2sd(st);
- int guild;
+ int guild_id;
if( sd == NULL )
return true;
- guild = script_getnum(st,2);
- switch( guild )
- {
+ guild_id = script_getnum(st,2);
+ switch( guild_id ) {
case ARCH_MERC_GUILD:
script_pushint(st,sd->status.arch_calls);
break;
@@ -15524,19 +15521,17 @@ BUILDIN(mercenary_get_calls)
return true;
}
-BUILDIN(mercenary_set_calls)
-{
+BUILDIN(mercenary_set_calls) {
struct map_session_data *sd = script_rid2sd(st);
- int guild, value, *calls;
+ int guild_id, value, *calls;
if( sd == NULL )
return true;
- guild = script_getnum(st,2);
+ guild_id = script_getnum(st,2);
value = script_getnum(st,3);
- switch( guild )
- {
+ switch( guild_id ) {
case ARCH_MERC_GUILD:
calls = &sd->status.arch_calls;
break;
@@ -15556,17 +15551,15 @@ BUILDIN(mercenary_set_calls)
return true;
}
-BUILDIN(mercenary_get_faith)
-{
+BUILDIN(mercenary_get_faith) {
struct map_session_data *sd = script_rid2sd(st);
- int guild;
+ int guild_id;
if( sd == NULL )
return true;
- guild = script_getnum(st,2);
- switch( guild )
- {
+ guild_id = script_getnum(st,2);
+ switch( guild_id ) {
case ARCH_MERC_GUILD:
script_pushint(st,sd->status.arch_faith);
break;
@@ -15584,19 +15577,17 @@ BUILDIN(mercenary_get_faith)
return true;
}
-BUILDIN(mercenary_set_faith)
-{
+BUILDIN(mercenary_set_faith) {
struct map_session_data *sd = script_rid2sd(st);
- int guild, value, *calls;
+ int guild_id, value, *calls;
if( sd == NULL )
return true;
- guild = script_getnum(st,2);
+ guild_id = script_getnum(st,2);
value = script_getnum(st,3);
- switch( guild )
- {
+ switch( guild_id ) {
case ARCH_MERC_GUILD:
calls = &sd->status.arch_faith;
break;
@@ -15612,7 +15603,7 @@ BUILDIN(mercenary_set_faith)
*calls += value;
*calls = cap_value(*calls, 0, INT_MAX);
- if( mercenary->get_guild(sd->md) == guild )
+ if( mercenary->get_guild(sd->md) == guild_id )
clif->mercenary_updatestatus(sd,SP_MERCFAITH);
return true;
diff --git a/src/map/script.h b/src/map/script.h
index bcdd1fdaf..97f9bdb8c 100644
--- a/src/map/script.h
+++ b/src/map/script.h
@@ -386,7 +386,7 @@ struct script_interface {
int (*set_var) (struct map_session_data *sd, char *name, void *val);
void (*stop_instances) (struct script_code *code);
void (*free_code) (struct script_code* code);
- void (*free_vars) (struct DBMap *storage);
+ void (*free_vars) (struct DBMap *var_storage);
struct script_state* (*alloc_state) (struct script_code* rootscript, int pos, int rid, int oid);
void (*free_state) (struct script_state* st);
void (*run_autobonus) (const char *autobonus,int id, int pos);
diff --git a/src/map/skill.c b/src/map/skill.c
index 6ec9d2fec..75df03b1b 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -366,7 +366,7 @@ int skill_get_range2 (struct block_list *bl, uint16 skill_id, uint16 skill_lv) {
}
int skill_calc_heal(struct block_list *src, struct block_list *target, uint16 skill_id, uint16 skill_lv, bool heal) {
- int skill, hp;
+ int skill2_lv, hp;
struct map_session_data *sd = BL_CAST(BL_PC, src);
struct map_session_data *tsd = BL_CAST(BL_PC, target);
struct status_change* sc;
@@ -399,21 +399,21 @@ int skill_calc_heal(struct block_list *src, struct block_list *target, uint16 sk
#else
hp = ( iStatus->get_lv(src) + status_get_int(src) ) / 8 * (4 + ( skill_id == AB_HIGHNESSHEAL ? ( sd ? pc->checkskill(sd,AL_HEAL) : 10 ) : skill_lv ) * 8);
#endif
- if( sd && ((skill = pc->checkskill(sd, HP_MEDITATIO)) > 0) )
- hp += hp * skill * 2 / 100;
- else if( src->type == BL_HOM && (skill = homun->checkskill(((TBL_HOM*)src), HLIF_BRAIN)) > 0 )
- hp += hp * skill * 2 / 100;
+ if( sd && ((skill2_lv = pc->checkskill(sd, HP_MEDITATIO)) > 0) )
+ hp += hp * skill2_lv * 2 / 100;
+ else if( src->type == BL_HOM && (skill2_lv = homun->checkskill(((TBL_HOM*)src), HLIF_BRAIN)) > 0 )
+ hp += hp * skill2_lv * 2 / 100;
break;
}
if( ( (target && target->type == BL_MER) || !heal ) && skill_id != NPC_EVILLAND )
hp >>= 1;
- if( sd && (skill = pc->skillheal_bonus(sd, skill_id)) )
- hp += hp*skill/100;
+ if( sd && (skill2_lv = pc->skillheal_bonus(sd, skill_id)) )
+ hp += hp*skill2_lv/100;
- if( tsd && (skill = pc->skillheal2_bonus(tsd, skill_id)) )
- hp += hp*skill/100;
+ if( tsd && (skill2_lv = pc->skillheal2_bonus(tsd, skill_id)) )
+ hp += hp*skill2_lv/100;
sc = iStatus->get_sc(target);
if( sc && sc->count ) {
@@ -2837,19 +2837,19 @@ int skill_area_sub (struct block_list *bl, va_list ap) {
}
int skill_check_unit_range_sub (struct block_list *bl, va_list ap) {
- struct skill_unit *unit;
+ struct skill_unit *su;
uint16 skill_id,g_skill_id;
- unit = (struct skill_unit *)bl;
+ su = (struct skill_unit *)bl;
if(bl->prev == NULL || bl->type != BL_SKILL)
return 0;
- if(!unit->alive)
+ if(!su->alive)
return 0;
skill_id = va_arg(ap,int);
- g_skill_id = unit->group->skill_id;
+ g_skill_id = su->group->skill_id;
switch (skill_id) {
case MH_STEINWAND:
@@ -3945,10 +3945,9 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
int maxlv = skill->get_max(skill_id); // learnable level
int count = 0;
int x, y;
- struct skill_unit* unit;
+ struct skill_unit *su;
- if( skill_lv > maxlv )
- {
+ if( skill_lv > maxlv ) {
if( src->type == BL_MOB && skill_lv == 10 )
range = 4;
else
@@ -3956,16 +3955,14 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
}
for( y = src->y - range; y <= src->y + range; ++y )
- for( x = src->x - range; x <= src->x + range; ++x )
- {
- if( !iMap->find_skill_unit_oncell(src,x,y,SA_LANDPROTECTOR,NULL,1) )
- {
+ for( x = src->x - range; x <= src->x + range; ++x ) {
+ if( !iMap->find_skill_unit_oncell(src,x,y,SA_LANDPROTECTOR,NULL,1) ) {
if( src->type != BL_PC || iMap->getcell(src->m,x,y,CELL_CHKWATER) ) // non-players bypass the water requirement
count++; // natural water cell
- else if( (unit = iMap->find_skill_unit_oncell(src,x,y,SA_DELUGE,NULL,1)) != NULL || (unit = iMap->find_skill_unit_oncell(src,x,y,NJ_SUITON,NULL,1)) != NULL )
- {
+ else if( (su = iMap->find_skill_unit_oncell(src,x,y,SA_DELUGE,NULL,1)) != NULL
+ || (su = iMap->find_skill_unit_oncell(src,x,y,NJ_SUITON,NULL,1)) != NULL ) {
count++; // skill-induced water cell
- skill->delunit(unit); // consume cell
+ skill->delunit(su); // consume cell
}
}
}
@@ -9036,9 +9033,9 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
skill->attack(BF_WEAPON,src,src,bl,GN_SLINGITEM_RANGEMELEEATK,skill_lv,tick,flag);
} else //Otherwise, it fails, shows animation and removes items.
clif->skill_fail(sd,GN_SLINGITEM_RANGEMELEEATK,0xa,0);
- } else if( itemdb_is_GNthrowable(ammo_id) ){
+ } else if( itemdb_is_GNthrowable(ammo_id) ) {
struct script_code *scriptroot = sd->inventory_data[i]->script;
- if( !script )
+ if( !scriptroot )
break;
if( dstsd )
script->run(scriptroot,0,dstsd->bl.id,npc->fake_nd->bl.id);
@@ -10410,30 +10407,30 @@ int skill_dance_overlap_sub(struct block_list* bl, va_list ap) {
//Does the song/dance overlapping -> dissonance check. [Skotlex]
//When flag is 0, this unit is about to be removed, cancel the dissonance effect
//When 1, this unit has been positioned, so start the cancel effect.
-int skill_dance_overlap(struct skill_unit* unit, int flag) {
- if (!unit || !unit->group || !(unit->group->state.song_dance&0x1))
+int skill_dance_overlap(struct skill_unit* su, int flag) {
+ if (!su || !su->group || !(su->group->state.song_dance&0x1))
return 0;
- if (unit->val1 != unit->group->skill_id) {
+ if (su->val1 != su->group->skill_id) {
//Reset state
- unit->val1 = unit->group->skill_id;
- unit->val2 &= ~UF_ENSEMBLE;
+ su->val1 = su->group->skill_id;
+ su->val2 &= ~UF_ENSEMBLE;
}
- return iMap->foreachincell(skill->dance_overlap_sub, unit->bl.m,unit->bl.x,unit->bl.y,BL_SKILL, unit,flag);
+ return iMap->foreachincell(skill->dance_overlap_sub, su->bl.m,su->bl.x,su->bl.y,BL_SKILL, su,flag);
}
/*==========================================
* Converts this group information so that it is handled as a Dissonance or Ugly Dance cell.
* Flag: 0 - Convert, 1 - Revert.
*------------------------------------------*/
-bool skill_dance_switch(struct skill_unit* unit, int flag) {
+bool skill_dance_switch(struct skill_unit* su, int flag) {
static int prevflag = 1; // by default the backup is empty
static struct skill_unit_group backup;
- struct skill_unit_group* group = unit->group;
+ struct skill_unit_group* group = su->group;
// val2&UF_ENSEMBLE is a hack to indicate dissonance
- if ( !(group->state.song_dance&0x1 && unit->val2&UF_ENSEMBLE) )
+ if ( !(group->state.song_dance&0x1 && su->val2&UF_ENSEMBLE) )
return false;
if( flag == prevflag ) {
@@ -10446,7 +10443,7 @@ bool skill_dance_switch(struct skill_unit* unit, int flag) {
prevflag = flag;
if( !flag ) { //Transform
- uint16 skill_id = unit->val2&UF_SONG ? BA_DISSONANCE : DC_UGLYDANCE;
+ uint16 skill_id = su->val2&UF_SONG ? BA_DISSONANCE : DC_UGLYDANCE;
// backup
backup.skill_id = group->skill_id;
@@ -10885,7 +10882,7 @@ struct skill_unit_group* skill_unitsetting (struct block_list *src, uint16 skill
limit = group->limit;
for( i = 0; i < layout->count; i++ ) {
- struct skill_unit *unit;
+ struct skill_unit *su;
int ux = x + layout->dx[i];
int uy = y + layout->dy[i];
int val1 = skill_lv;
@@ -10964,19 +10961,19 @@ struct skill_unit_group* skill_unitsetting (struct block_list *src, uint16 skill
if( !alive )
continue;
- nullpo_retr(NULL, unit=skill->initunit(group,i,ux,uy,val1,val2));
- unit->limit=limit;
- unit->range=range;
+ nullpo_retr(NULL, su=skill->initunit(group,i,ux,uy,val1,val2));
+ su->limit=limit;
+ su->range=range;
if (skill_id == PF_FOGWALL && alive == 2) {
//Double duration of cells on top of Deluge/Suiton
- unit->limit *= 2;
- group->limit = unit->limit;
+ su->limit *= 2;
+ group->limit = su->limit;
}
// execute on all targets standing on this cell
if (range==0 && active_flag)
- iMap->foreachincell(skill->unit_effect,unit->bl.m,unit->bl.x,unit->bl.y,group->bl_flag,&unit->bl,iTimer->gettick(),1);
+ iMap->foreachincell(skill->unit_effect,su->bl.m,su->bl.x,su->bl.y,group->bl_flag,&su->bl,iTimer->gettick(),1);
}
if (!group->alive_count) { //No cells? Something that was blocked completely by Land Protector?
@@ -12085,37 +12082,37 @@ static int skill_unit_onleft (uint16 skill_id, struct block_list *bl, unsigned i
* flag&4: Invoke a onleft call (the unit might be scheduled for deletion)
*------------------------------------------*/
int skill_unit_effect (struct block_list* bl, va_list ap) {
- struct skill_unit* unit = va_arg(ap,struct skill_unit*);
- struct skill_unit_group* group = unit->group;
+ struct skill_unit* su = va_arg(ap,struct skill_unit*);
+ struct skill_unit_group* group = su->group;
unsigned int tick = va_arg(ap,unsigned int);
unsigned int flag = va_arg(ap,unsigned int);
uint16 skill_id;
bool dissonance;
- if( (!unit->alive && !(flag&4)) || bl->prev == NULL )
+ if( (!su->alive && !(flag&4)) || bl->prev == NULL )
return 0;
nullpo_ret(group);
- dissonance = skill->dance_switch(unit, 0);
+ dissonance = skill->dance_switch(su, 0);
//Necessary in case the group is deleted after calling on_place/on_out [Skotlex]
skill_id = group->skill_id;
//Target-type check.
- if( !(group->bl_flag&bl->type && battle->check_target(&unit->bl,bl,group->target_flag)>0) ) {
+ if( !(group->bl_flag&bl->type && battle->check_target(&su->bl,bl,group->target_flag)>0) ) {
if( (flag&4) && ( group->state.song_dance&0x1 || (group->src_id == bl->id && group->state.song_dance&0x2) ) )
skill->unit_onleft(skill_id, bl, tick);//Ensemble check to terminate it.
} else {
if( flag&1 )
- skill->unit_onplace(unit,bl,tick);
+ skill->unit_onplace(su,bl,tick);
else
- skill->unit_onout(unit,bl,tick);
+ skill->unit_onout(su,bl,tick);
if( flag&4 )
skill->unit_onleft(skill_id, bl, tick);
}
- if( dissonance ) skill->dance_switch(unit, 1);
+ if( dissonance ) skill->dance_switch(su, 1);
return 0;
}
@@ -12304,15 +12301,15 @@ int skill_check_pc_partner (struct map_session_data *sd, uint16 skill_id, uint16
*
*------------------------------------------*/
int skill_check_condition_mob_master_sub (struct block_list *bl, va_list ap) {
- int *c,src_id,mob_class,skill;
+ int *c,src_id,mob_class,skill_id;
struct mob_data *md;
md=(struct mob_data*)bl;
src_id=va_arg(ap,int);
mob_class=va_arg(ap,int);
- skill=va_arg(ap,int);
+ skill_id=va_arg(ap,int);
c=va_arg(ap,int *);
- if( md->master_id != src_id || md->special_state.ai != (unsigned)(skill == AM_SPHEREMINE?2:skill == KO_ZANZOU?4:skill == MH_SUMMON_LEGION?1:3) )
+ if( md->master_id != src_id || md->special_state.ai != (unsigned)(skill_id == AM_SPHEREMINE?2:skill_id == KO_ZANZOU?4:skill_id == MH_SUMMON_LEGION?1:3) )
return 0; //Non alchemist summoned mobs have nothing to do here.
if(md->class_==mob_class)
(*c)++;
@@ -14674,16 +14671,16 @@ struct skill_unit_group *skill_locate_element_field(struct block_list *bl) {
// for graffiti cleaner [Valaris]
int skill_graffitiremover (struct block_list *bl, va_list ap) {
- struct skill_unit *unit=NULL;
+ struct skill_unit *su=NULL;
nullpo_ret(bl);
nullpo_ret(ap);
- if(bl->type!=BL_SKILL || (unit=(struct skill_unit *)bl) == NULL)
+ if(bl->type!=BL_SKILL || (su=(struct skill_unit *)bl) == NULL)
return 0;
- if((unit->group) && (unit->group->unit_id == UNT_GRAFFITI))
- skill->delunit(unit);
+ if((su->group) && (su->group->unit_id == UNT_GRAFFITI))
+ skill->delunit(su);
return 0;
}
@@ -14702,9 +14699,8 @@ int skill_greed (struct block_list *bl, va_list ap) {
return 0;
}
//For Ranger's Detonator [Jobbie/3CeAM]
-int skill_detonator(struct block_list *bl, va_list ap)
-{
- struct skill_unit *unit=NULL;
+int skill_detonator(struct block_list *bl, va_list ap) {
+ struct skill_unit *su=NULL;
struct block_list *src;
int unit_id;
@@ -14712,14 +14708,14 @@ int skill_detonator(struct block_list *bl, va_list ap)
nullpo_ret(ap);
src = va_arg(ap,struct block_list *);
- if( bl->type != BL_SKILL || (unit = (struct skill_unit *)bl) == NULL || !unit->group )
+ if( bl->type != BL_SKILL || (su = (struct skill_unit *)bl) == NULL || !su->group )
return 0;
- if( unit->group->src_id != src->id )
+ if( su->group->src_id != src->id )
return 0;
- unit_id = unit->group->unit_id;
- switch( unit_id )
- { //List of Hunter and Ranger Traps that can be detonate.
+ unit_id = su->group->unit_id;
+ switch( unit_id ) {
+ //List of Hunter and Ranger Traps that can be detonate.
case UNT_BLASTMINE:
case UNT_SANDMAN:
case UNT_CLAYMORETRAP:
@@ -14727,23 +14723,23 @@ int skill_detonator(struct block_list *bl, va_list ap)
case UNT_CLUSTERBOMB:
case UNT_FIRINGTRAP:
case UNT_ICEBOUNDTRAP:
- switch(unit_id){
+ switch(unit_id) {
case UNT_TALKIEBOX:
- clif->talkiebox(bl,unit->group->valstr);
- unit->group->val2 = -1;
+ clif->talkiebox(bl,su->group->valstr);
+ su->group->val2 = -1;
break;
case UNT_CLAYMORETRAP:
case UNT_FIRINGTRAP:
case UNT_ICEBOUNDTRAP:
- iMap->foreachinrange(skill->trap_splash,bl,skill->get_splash(unit->group->skill_id,unit->group->skill_lv),unit->group->bl_flag|BL_SKILL|~BCT_SELF,bl,unit->group->tick);
+ iMap->foreachinrange(skill->trap_splash,bl,skill->get_splash(su->group->skill_id,su->group->skill_lv),su->group->bl_flag|BL_SKILL|~BCT_SELF,bl,su->group->tick);
break;
default:
- iMap->foreachinrange(skill->trap_splash,bl,skill->get_splash(unit->group->skill_id,unit->group->skill_lv),unit->group->bl_flag,bl,unit->group->tick);
+ iMap->foreachinrange(skill->trap_splash,bl,skill->get_splash(su->group->skill_id,su->group->skill_lv),su->group->bl_flag,bl,su->group->tick);
}
clif->changetraplook(bl, UNT_USED_TRAPS);
- unit->group->limit = DIFF_TICK(iTimer->gettick(),unit->group->tick) +
+ su->group->limit = DIFF_TICK(iTimer->gettick(),su->group->tick) +
(unit_id == UNT_TALKIEBOX ? 5000 : (unit_id == UNT_CLUSTERBOMB || unit_id == UNT_ICEBOUNDTRAP? 2500 : (unit_id == UNT_FIRINGTRAP ? 0 : 1500)) );
- unit->group->unit_id = UNT_USED_TRAPS;
+ su->group->unit_id = UNT_USED_TRAPS;
break;
}
return 0;
@@ -14755,31 +14751,31 @@ int skill_detonator(struct block_list *bl, va_list ap)
int skill_cell_overlap(struct block_list *bl, va_list ap) {
uint16 skill_id;
int *alive;
- struct skill_unit *unit;
+ struct skill_unit *su;
skill_id = va_arg(ap,int);
alive = va_arg(ap,int *);
- unit = (struct skill_unit *)bl;
+ su = (struct skill_unit *)bl;
- if( unit == NULL || unit->group == NULL || (*alive) == 0 )
+ if( su == NULL || su->group == NULL || (*alive) == 0 )
return 0;
switch (skill_id) {
case SA_LANDPROTECTOR:
- if( unit->group->skill_id == SA_LANDPROTECTOR ) {//Check for offensive Land Protector to delete both. [Skotlex]
+ if( su->group->skill_id == SA_LANDPROTECTOR ) {//Check for offensive Land Protector to delete both. [Skotlex]
(*alive) = 0;
- skill->delunit(unit);
+ skill->delunit(su);
return 1;
}
- if( !(skill->get_inf2(unit->group->skill_id)&(INF2_SONG_DANCE|INF2_TRAP)) || unit->group->skill_id == WZ_FIREPILLAR ) { //It deletes everything except songs/dances and traps
- skill->delunit(unit);
+ if( !(skill->get_inf2(su->group->skill_id)&(INF2_SONG_DANCE|INF2_TRAP)) || su->group->skill_id == WZ_FIREPILLAR ) { //It deletes everything except songs/dances and traps
+ skill->delunit(su);
return 1;
}
break;
case HW_GANBANTEIN:
case LG_EARTHDRIVE:
- if( !(unit->group->state.song_dance&0x1) ) {// Don't touch song/dance.
- skill->delunit(unit);
+ if( !(su->group->state.song_dance&0x1) ) {// Don't touch song/dance.
+ skill->delunit(su);
return 1;
}
break;
@@ -14789,14 +14785,13 @@ int skill_cell_overlap(struct block_list *bl, va_list ap) {
// The official implementation makes them fail to appear when casted on top of ANYTHING
// but I wonder if they didn't actually meant to fail when casted on top of each other?
// hence, I leave the alternate implementation here, commented. [Skotlex]
- if (unit->range <= 0)
- {
+ if (su->range <= 0) {
(*alive) = 0;
return 1;
}
/*
- switch (unit->group->skill_id)
- { //These cannot override each other.
+ switch (su->group->skill_id) {
+ //These cannot override each other.
case SA_VOLCANO:
case SA_DELUGE:
case SA_VIOLENTGALE:
@@ -14806,7 +14801,7 @@ int skill_cell_overlap(struct block_list *bl, va_list ap) {
*/
break;
case PF_FOGWALL:
- switch(unit->group->skill_id) {
+ switch(su->group->skill_id) {
case SA_VOLCANO: //Can't be placed on top of these
case SA_VIOLENTGALE:
(*alive) = 0;
@@ -14819,14 +14814,15 @@ int skill_cell_overlap(struct block_list *bl, va_list ap) {
}
break;
case HP_BASILICA:
- if (unit->group->skill_id == HP_BASILICA)
- { //Basilica can't be placed on top of itself to avoid map-cell stacking problems. [Skotlex]
+ if (su->group->skill_id == HP_BASILICA) {
+ //Basilica can't be placed on top of itself to avoid map-cell stacking problems. [Skotlex]
(*alive) = 0;
return 1;
}
break;
case GN_CRAZYWEED_ATK:
- switch(unit->group->unit_id){ //TODO: look for other ground skills that are affected.
+ switch(su->group->unit_id) {
+ //TODO: look for other ground skills that are affected.
case UNT_WALLOFTHORN:
case UNT_THORNS_TRAP:
case UNT_BLOODYLUST:
@@ -14839,13 +14835,14 @@ int skill_cell_overlap(struct block_list *bl, va_list ap) {
case UNT_VIOLENTGALE:
case UNT_SAFETYWALL:
case UNT_PNEUMA:
- skill->delunit(unit);
+ skill->delunit(su);
return 1;
}
break;
}
- if (unit->group->skill_id == SA_LANDPROTECTOR && !(skill->get_inf2(skill_id)&(INF2_SONG_DANCE|INF2_TRAP))) { //It deletes everything except songs/dances/traps
+ if (su->group->skill_id == SA_LANDPROTECTOR && !(skill->get_inf2(skill_id)&(INF2_SONG_DANCE|INF2_TRAP))) {
+ //It deletes everything except songs/dances/traps
(*alive) = 0;
return 1;
}
@@ -14880,17 +14877,17 @@ int skill_chastle_mob_changetarget(struct block_list *bl,va_list ap)
int skill_trap_splash (struct block_list *bl, va_list ap) {
struct block_list *src;
int tick;
- struct skill_unit *unit;
+ struct skill_unit *su;
struct skill_unit_group *sg;
struct block_list *ss;
src = va_arg(ap,struct block_list *);
- unit = (struct skill_unit *)src;
+ su = (struct skill_unit *)src;
tick = va_arg(ap,int);
- if( !unit->alive || bl->prev == NULL )
+ if( !su->alive || bl->prev == NULL )
return 0;
- nullpo_ret(sg = unit->group);
+ nullpo_ret(sg = su->group);
nullpo_ret(ss = iMap->id2bl(sg->src_id));
if(battle->check_target(src,bl,sg->target_flag) <= 0)
@@ -14977,22 +14974,22 @@ int skill_trap_splash (struct block_list *bl, va_list ap) {
int skill_maelstrom_suction(struct block_list *bl, va_list ap) {
uint16 skill_id, skill_lv;
- struct skill_unit *unit;
+ struct skill_unit *su;
skill_id = va_arg(ap,int);
skill_lv = va_arg(ap,int);
- unit = (struct skill_unit *)bl;
+ su = (struct skill_unit *)bl;
- if( unit == NULL || unit->group == NULL )
+ if( su == NULL || su->group == NULL )
return 0;
if( skill->get_inf2(skill_id)&INF2_TRAP )
return 0;
- if( unit->group->skill_id == SC_MAELSTROM ){
+ if( su->group->skill_id == SC_MAELSTROM ) {
struct block_list *src;
- if( (src = iMap->id2bl(unit->group->src_id)) ){
- int sp = unit->group->skill_lv * skill_lv;
+ if( (src = iMap->id2bl(su->group->src_id)) ) {
+ int sp = su->group->skill_lv * skill_lv;
if( src->type == BL_PC )
sp += ((TBL_PC*)src)->status.job_level / 5;
iStatus->heal(src, 0, sp/2, 1);
@@ -15085,81 +15082,80 @@ bool skill_check_camouflage(struct block_list *bl, struct status_change_entry *s
/*==========================================
*
*------------------------------------------*/
-struct skill_unit *skill_initunit (struct skill_unit_group *group, int idx, int x, int y, int val1, int val2)
-{
- struct skill_unit *unit;
+struct skill_unit *skill_initunit (struct skill_unit_group *group, int idx, int x, int y, int val1, int val2) {
+ struct skill_unit *su;
nullpo_retr(NULL, group);
nullpo_retr(NULL, group->unit); // crash-protection against poor coding
- nullpo_retr(NULL, unit=&group->unit[idx]);
+ nullpo_retr(NULL, su=&group->unit[idx]);
if( iMap->getcell(iMap->id2bl(group->src_id)->m, x, y, CELL_CHKMAELSTROM) )
- return unit;
+ return su;
- if(!unit->alive)
+ if(!su->alive)
group->alive_count++;
- unit->bl.id=iMap->get_new_object_id();
- unit->bl.type=BL_SKILL;
- unit->bl.m=group->map;
- unit->bl.x=x;
- unit->bl.y=y;
- unit->group=group;
- unit->alive=1;
- unit->val1=val1;
- unit->val2=val2;
+ su->bl.id=iMap->get_new_object_id();
+ su->bl.type=BL_SKILL;
+ su->bl.m=group->map;
+ su->bl.x=x;
+ su->bl.y=y;
+ su->group=group;
+ su->alive=1;
+ su->val1=val1;
+ su->val2=val2;
- idb_put(skillunit_db, unit->bl.id, unit);
- iMap->addiddb(&unit->bl);
- iMap->addblock(&unit->bl);
+ idb_put(skillunit_db, su->bl.id, su);
+ iMap->addiddb(&su->bl);
+ iMap->addblock(&su->bl);
// perform oninit actions
switch (group->skill_id) {
case WZ_ICEWALL:
- iMap->setgatcell(unit->bl.m,unit->bl.x,unit->bl.y,5);
- clif->changemapcell(0,unit->bl.m,unit->bl.x,unit->bl.y,5,AREA);
- skill->unitsetmapcell(unit,WZ_ICEWALL,group->skill_lv,CELL_ICEWALL,true);
- map[unit->bl.m].icewall_num++;
+ iMap->setgatcell(su->bl.m,su->bl.x,su->bl.y,5);
+ clif->changemapcell(0,su->bl.m,su->bl.x,su->bl.y,5,AREA);
+ skill->unitsetmapcell(su,WZ_ICEWALL,group->skill_lv,CELL_ICEWALL,true);
+ map[su->bl.m].icewall_num++;
break;
case SA_LANDPROTECTOR:
- skill->unitsetmapcell(unit,SA_LANDPROTECTOR,group->skill_lv,CELL_LANDPROTECTOR,true);
+ skill->unitsetmapcell(su,SA_LANDPROTECTOR,group->skill_lv,CELL_LANDPROTECTOR,true);
break;
case HP_BASILICA:
- skill->unitsetmapcell(unit,HP_BASILICA,group->skill_lv,CELL_BASILICA,true);
+ skill->unitsetmapcell(su,HP_BASILICA,group->skill_lv,CELL_BASILICA,true);
break;
case SC_MAELSTROM:
- skill->unitsetmapcell(unit,SC_MAELSTROM,group->skill_lv,CELL_MAELSTROM,true);
+ skill->unitsetmapcell(su,SC_MAELSTROM,group->skill_lv,CELL_MAELSTROM,true);
break;
default:
if (group->state.song_dance&0x1) //Check for dissonance.
- skill->dance_overlap(unit, 1);
+ skill->dance_overlap(su, 1);
break;
}
- clif->skill_setunit(unit);
+ clif->skill_setunit(su);
- return unit;
+ return su;
}
/*==========================================
*
*------------------------------------------*/
-int skill_delunit (struct skill_unit* unit) {
+int skill_delunit (struct skill_unit* su) {
struct skill_unit_group *group;
- nullpo_ret(unit);
- if( !unit->alive )
+ nullpo_ret(su);
+ if( !su->alive )
return 0;
- unit->alive=0;
+ su->alive=0;
- nullpo_ret(group=unit->group);
+ nullpo_ret(group=su->group);
if( group->state.song_dance&0x1 ) //Cancel dissonance effect.
- skill->dance_overlap(unit, 0);
+ skill->dance_overlap(su, 0);
// invoke onout event
- if( !unit->range )
- iMap->foreachincell(skill->unit_effect,unit->bl.m,unit->bl.x,unit->bl.y,group->bl_flag,&unit->bl,iTimer->gettick(),4);
+ if( !su->range )
+ iMap->foreachincell(skill->unit_effect,su->bl.m,su->bl.x,su->bl.y,group->bl_flag,&su->bl,iTimer->gettick(),4);
// perform ondelete actions
switch (group->skill_id) {
@@ -15170,16 +15166,16 @@ int skill_delunit (struct skill_unit* unit) {
}
break;
case WZ_ICEWALL:
- iMap->setgatcell(unit->bl.m,unit->bl.x,unit->bl.y,unit->val2);
- clif->changemapcell(0,unit->bl.m,unit->bl.x,unit->bl.y,unit->val2,ALL_SAMEMAP); // hack to avoid clientside cell bug
- skill->unitsetmapcell(unit,WZ_ICEWALL,group->skill_lv,CELL_ICEWALL,false);
- map[unit->bl.m].icewall_num--;
+ iMap->setgatcell(su->bl.m,su->bl.x,su->bl.y,su->val2);
+ clif->changemapcell(0,su->bl.m,su->bl.x,su->bl.y,su->val2,ALL_SAMEMAP); // hack to avoid clientside cell bug
+ skill->unitsetmapcell(su,WZ_ICEWALL,group->skill_lv,CELL_ICEWALL,false);
+ map[su->bl.m].icewall_num--;
break;
case SA_LANDPROTECTOR:
- skill->unitsetmapcell(unit,SA_LANDPROTECTOR,group->skill_lv,CELL_LANDPROTECTOR,false);
+ skill->unitsetmapcell(su,SA_LANDPROTECTOR,group->skill_lv,CELL_LANDPROTECTOR,false);
break;
case HP_BASILICA:
- skill->unitsetmapcell(unit,HP_BASILICA,group->skill_lv,CELL_BASILICA,false);
+ skill->unitsetmapcell(su,HP_BASILICA,group->skill_lv,CELL_BASILICA,false);
break;
case RA_ELECTRICSHOCKER: {
struct block_list* target = iMap->id2bl(group->val2);
@@ -15188,7 +15184,7 @@ int skill_delunit (struct skill_unit* unit) {
}
break;
case SC_MAELSTROM:
- skill->unitsetmapcell(unit,SC_MAELSTROM,group->skill_lv,CELL_MAELSTROM,false);
+ skill->unitsetmapcell(su,SC_MAELSTROM,group->skill_lv,CELL_MAELSTROM,false);
break;
case SC_MANHOLE: // Note : Removing the unit don't remove the status (official info)
if( group->val2 ) { // Someone Traped
@@ -15199,12 +15195,12 @@ int skill_delunit (struct skill_unit* unit) {
break;
}
- clif->skill_delunit(unit);
+ clif->skill_delunit(su);
- unit->group=NULL;
- iMap->delblock(&unit->bl); // don't free yet
- iMap->deliddb(&unit->bl);
- idb_remove(skillunit_db, unit->bl.id);
+ su->group=NULL;
+ iMap->delblock(&su->bl); // don't free yet
+ iMap->deliddb(&su->bl);
+ idb_remove(skillunit_db, su->bl.id);
if(--group->alive_count==0)
skill->del_unitgroup(group,ALC_MARK);
@@ -15496,11 +15492,11 @@ struct skill_unit_group_tickset *skill_unitgrouptickset_search (struct block_lis
*
*------------------------------------------*/
int skill_unit_timer_sub_onplace (struct block_list* bl, va_list ap) {
- struct skill_unit* unit = va_arg(ap,struct skill_unit *);
- struct skill_unit_group* group = unit->group;
+ struct skill_unit* su = va_arg(ap,struct skill_unit *);
+ struct skill_unit_group* group = su->group;
unsigned int tick = va_arg(ap,unsigned int);
- if( !unit->alive || bl->prev == NULL )
+ if( !su->alive || bl->prev == NULL )
return 0;
nullpo_ret(group);
@@ -15508,10 +15504,10 @@ int skill_unit_timer_sub_onplace (struct block_list* bl, va_list ap) {
if( !(skill->get_inf2(group->skill_id)&(INF2_SONG_DANCE|INF2_TRAP|INF2_NOLP)) && iMap->getcell(bl->m, bl->x, bl->y, CELL_CHKLANDPROTECTOR) )
return 0; //AoE skills are ineffective. [Skotlex]
- if( battle->check_target(&unit->bl,bl,group->target_flag) <= 0 )
+ if( battle->check_target(&su->bl,bl,group->target_flag) <= 0 )
return 0;
- skill->unit_onplace_timer(unit,bl,tick);
+ skill->unit_onplace_timer(su,bl,tick);
return 1;
}
@@ -15520,22 +15516,21 @@ int skill_unit_timer_sub_onplace (struct block_list* bl, va_list ap) {
* @see DBApply
*/
int skill_unit_timer_sub(DBKey key, DBData *data, va_list ap) {
- struct skill_unit* unit = DB->data2ptr(data);
- struct skill_unit_group* group = unit->group;
+ struct skill_unit* su = DB->data2ptr(data);
+ struct skill_unit_group* group = su->group;
unsigned int tick = va_arg(ap,unsigned int);
bool dissonance;
- struct block_list* bl = &unit->bl;
+ struct block_list* bl = &su->bl;
- if( !unit->alive )
+ if( !su->alive )
return 0;
nullpo_ret(group);
// check for expiration
- if( !group->state.guildaura && (DIFF_TICK(tick,group->tick) >= group->limit || DIFF_TICK(tick,group->tick) >= unit->limit) )
- {// skill unit expired (inlined from skill_unit_onlimit())
- switch( group->unit_id )
- {
+ if( !group->state.guildaura && (DIFF_TICK(tick,group->tick) >= group->limit || DIFF_TICK(tick,group->tick) >= su->limit) ) {
+ // skill unit expired (inlined from skill_unit_onlimit())
+ switch( group->unit_id ) {
case UNT_BLASTMINE:
#ifdef RENEWAL
case UNT_CLAYMORETRAP:
@@ -15548,14 +15543,14 @@ int skill_unit_timer_sub(DBKey key, DBData *data, va_list ap) {
group->unit_id = UNT_USED_TRAPS;
//clif->changetraplook(bl, UNT_FIREPILLAR_ACTIVE);
group->limit=DIFF_TICK(tick+1500,group->tick);
- unit->limit=DIFF_TICK(tick+1500,group->tick);
+ su->limit=DIFF_TICK(tick+1500,group->tick);
break;
case UNT_ANKLESNARE:
case UNT_ELECTRICSHOCKER:
if( group->val2 > 0 || group->val3 == SC_ESCAPE ) {
// Used Trap don't returns back to item
- skill->delunit(unit);
+ skill->delunit(su);
break;
}
case UNT_SKIDTRAP:
@@ -15578,27 +15573,27 @@ int skill_unit_timer_sub(DBKey key, DBData *data, va_list ap) {
{
struct block_list* src;
- if( unit->val1 > 0 && (src = iMap->id2bl(group->src_id)) != NULL && src->type == BL_PC )
- { // revert unit back into a trap
+ if( su->val1 > 0 && (src = iMap->id2bl(group->src_id)) != NULL && src->type == BL_PC ) {
+ // revert unit back into a trap
struct item item_tmp;
memset(&item_tmp,0,sizeof(item_tmp));
item_tmp.nameid = group->item_id?group->item_id:ITEMID_TRAP;
item_tmp.identify = 1;
iMap->addflooritem(&item_tmp,1,bl->m,bl->x,bl->y,0,0,0,0);
}
- skill->delunit(unit);
+ skill->delunit(su);
}
break;
case UNT_WARP_ACTIVE:
// warp portal opens (morph to a UNT_WARP_WAITING cell)
group->unit_id = skill->get_unit_id(group->skill_id, 1); // UNT_WARP_WAITING
- clif->changelook(&unit->bl, LOOK_BASE, group->unit_id);
+ clif->changelook(&su->bl, LOOK_BASE, group->unit_id);
// restart timers
group->limit = skill->get_time(group->skill_id,group->skill_lv);
- unit->limit = skill->get_time(group->skill_id,group->skill_lv);
+ su->limit = skill->get_time(group->skill_id,group->skill_lv);
// apply effect to all units standing on it
- iMap->foreachincell(skill->unit_effect,unit->bl.m,unit->bl.x,unit->bl.y,group->bl_flag,&unit->bl,iTimer->gettick(),1);
+ iMap->foreachincell(skill->unit_effect,su->bl.m,su->bl.x,su->bl.y,group->bl_flag,&su->bl,iTimer->gettick(),1);
break;
case UNT_CALLFAMILY:
@@ -15608,35 +15603,35 @@ int skill_unit_timer_sub(DBKey key, DBData *data, va_list ap) {
sd = iMap->charid2sd(group->val1);
group->val1 = 0;
if (sd && !map[sd->bl.m].flag.nowarp)
- pc->setpos(sd,map_id2index(unit->bl.m),unit->bl.x,unit->bl.y,CLR_TELEPORT);
+ pc->setpos(sd,map_id2index(su->bl.m),su->bl.x,su->bl.y,CLR_TELEPORT);
}
if(group->val2) {
sd = iMap->charid2sd(group->val2);
group->val2 = 0;
if (sd && !map[sd->bl.m].flag.nowarp)
- pc->setpos(sd,map_id2index(unit->bl.m),unit->bl.x,unit->bl.y,CLR_TELEPORT);
+ pc->setpos(sd,map_id2index(su->bl.m),su->bl.x,su->bl.y,CLR_TELEPORT);
}
- skill->delunit(unit);
+ skill->delunit(su);
}
break;
case UNT_REVERBERATION:
- if( unit->val1 <= 0 ) { // If it was deactivated.
- skill->delunit(unit);
+ if( su->val1 <= 0 ) { // If it was deactivated.
+ skill->delunit(su);
break;
}
clif->changetraplook(bl,UNT_USED_TRAPS);
iMap->foreachinrange(skill->trap_splash, bl, skill->get_splash(group->skill_id, group->skill_lv), group->bl_flag, bl, tick);
group->limit = DIFF_TICK(tick,group->tick)+1000;
- unit->limit = DIFF_TICK(tick,group->tick)+1000;
+ su->limit = DIFF_TICK(tick,group->tick)+1000;
group->unit_id = UNT_USED_TRAPS;
break;
case UNT_FEINTBOMB: {
struct block_list *src = iMap->id2bl(group->src_id);
if( src )
- iMap->foreachinrange(skill->area_sub, &group->unit->bl, unit->range, splash_target(src), src, SC_FEINTBOMB, group->skill_lv, tick, BCT_ENEMY|SD_ANIMATION|1, skill->castend_damage_id);
- skill->delunit(unit);
+ iMap->foreachinrange(skill->area_sub, &group->unit->bl, su->range, splash_target(src), src, SC_FEINTBOMB, group->skill_lv, tick, BCT_ENEMY|SD_ANIMATION|1, skill->castend_damage_id);
+ skill->delunit(su);
break;
}
@@ -15644,27 +15639,26 @@ int skill_unit_timer_sub(DBKey key, DBData *data, va_list ap) {
{
struct block_list *src = iMap->id2bl(group->src_id);
struct status_change *sc;
- if( !src || (sc = iStatus->get_sc(src)) == NULL || !sc->data[SC_BANDING] )
- {
- skill->delunit(unit);
+ if( !src || (sc = iStatus->get_sc(src)) == NULL || !sc->data[SC_BANDING] ) {
+ skill->delunit(su);
break;
}
// This unit isn't removed while SC_BANDING is active.
group->limit = DIFF_TICK(tick+group->interval,group->tick);
- unit->limit = DIFF_TICK(tick+group->interval,group->tick);
+ su->limit = DIFF_TICK(tick+group->interval,group->tick);
}
break;
default:
- skill->delunit(unit);
+ skill->delunit(su);
}
} else {// skill unit is still active
switch( group->unit_id ) {
case UNT_ICEWALL:
// icewall loses 50 hp every second
- unit->val1 -= SKILLUNITTIMER_INTERVAL/20; // trap's hp
- if( unit->val1 <= 0 && unit->limit + group->tick > tick + 700 )
- unit->limit = DIFF_TICK(tick+700,group->tick);
+ su->val1 -= SKILLUNITTIMER_INTERVAL/20; // trap's hp
+ if( su->val1 <= 0 && su->limit + group->tick > tick + 700 )
+ su->limit = DIFF_TICK(tick+700,group->tick);
break;
case UNT_BLASTMINE:
case UNT_SKIDTRAP:
@@ -15676,9 +15670,9 @@ int skill_unit_timer_sub(DBKey key, DBData *data, va_list ap) {
case UNT_FREEZINGTRAP:
case UNT_TALKIEBOX:
case UNT_ANKLESNARE:
- if( unit->val1 <= 0 ) {
+ if( su->val1 <= 0 ) {
if( group->unit_id == UNT_ANKLESNARE && group->val2 > 0 )
- skill->delunit(unit);
+ skill->delunit(su);
else {
clif->changetraplook(bl, group->unit_id==UNT_LANDMINE?UNT_FIREPILLAR_ACTIVE:UNT_USED_TRAPS);
group->limit = DIFF_TICK(tick, group->tick) + 1500;
@@ -15687,16 +15681,16 @@ int skill_unit_timer_sub(DBKey key, DBData *data, va_list ap) {
}
break;
case UNT_REVERBERATION:
- if( unit->val1 <= 0 ){
+ if( su->val1 <= 0 ) {
clif->changetraplook(bl,UNT_USED_TRAPS);
iMap->foreachinrange(skill->trap_splash, bl, skill->get_splash(group->skill_id, group->skill_lv), group->bl_flag, bl, tick);
group->limit = DIFF_TICK(tick,group->tick)+1000;
- unit->limit = DIFF_TICK(tick,group->tick)+1000;
+ su->limit = DIFF_TICK(tick,group->tick)+1000;
group->unit_id = UNT_USED_TRAPS;
}
break;
case UNT_WALLOFTHORN:
- if( unit->val1 <= 0 ) {
+ if( su->val1 <= 0 ) {
group->unit_id = UNT_USED_TRAPS;
group->limit = DIFF_TICK(tick, group->tick) + 1500;
}
@@ -15705,22 +15699,21 @@ int skill_unit_timer_sub(DBKey key, DBData *data, va_list ap) {
}
//Don't continue if unit or even group is expired and has been deleted.
- if( !group || !unit->alive )
+ if( !group || !su->alive )
return 0;
- dissonance = skill->dance_switch(unit, 0);
+ dissonance = skill->dance_switch(su, 0);
- if( unit->range >= 0 && group->interval != -1 )
- {
+ if( su->range >= 0 && group->interval != -1 ) {
if( battle_config.skill_wall_check )
- iMap->foreachinshootrange(skill->unit_timer_sub_onplace, bl, unit->range, group->bl_flag, bl,tick);
+ iMap->foreachinshootrange(skill->unit_timer_sub_onplace, bl, su->range, group->bl_flag, bl,tick);
else
- iMap->foreachinrange(skill->unit_timer_sub_onplace, bl, unit->range, group->bl_flag, bl,tick);
+ iMap->foreachinrange(skill->unit_timer_sub_onplace, bl, su->range, group->bl_flag, bl,tick);
- if(unit->range == -1) //Unit disabled, but it should not be deleted yet.
+ if(su->range == -1) //Unit disabled, but it should not be deleted yet.
group->unit_id = UNT_USED_TRAPS;
else if( group->unit_id == UNT_TATAMIGAESHI ) {
- unit->range = -1; //Disable processed cell.
+ su->range = -1; //Disable processed cell.
if (--group->val1 <= 0) { // number of live cells
//All tiles were processed, disable skill.
group->target_flag=BCT_NOONE;
@@ -15729,7 +15722,7 @@ int skill_unit_timer_sub(DBKey key, DBData *data, va_list ap) {
}
}
- if( dissonance ) skill->dance_switch(unit, 1);
+ if( dissonance ) skill->dance_switch(su, 1);
return 0;
}
@@ -15751,8 +15744,8 @@ static int skill_unit_temp[20]; // temporary storage for tracking skill unit sk
*
*------------------------------------------*/
int skill_unit_move_sub (struct block_list* bl, va_list ap) {
- struct skill_unit* unit = (struct skill_unit *)bl;
- struct skill_unit_group* group = unit->group;
+ struct skill_unit* su = (struct skill_unit *)bl;
+ struct skill_unit_group* group = su->group;
struct block_list* target = va_arg(ap,struct block_list*);
unsigned int tick = va_arg(ap,unsigned int);
@@ -15764,25 +15757,25 @@ int skill_unit_move_sub (struct block_list* bl, va_list ap) {
nullpo_ret(group);
- if( !unit->alive || target->prev == NULL )
+ if( !su->alive || target->prev == NULL )
return 0;
- if( flag&1 && ( unit->group->skill_id == PF_SPIDERWEB || unit->group->skill_id == GN_THORNS_TRAP ) )
+ if( flag&1 && ( su->group->skill_id == PF_SPIDERWEB || su->group->skill_id == GN_THORNS_TRAP ) )
return 0; // Fiberlock is never supposed to trigger on skill->unit_move. [Inkfish]
- dissonance = skill->dance_switch(unit, 0);
+ dissonance = skill->dance_switch(su, 0);
//Necessary in case the group is deleted after calling on_place/on_out [Skotlex]
- skill_id = unit->group->skill_id;
+ skill_id = su->group->skill_id;
- if( unit->group->interval != -1 && !(skill->get_unit_flag(skill_id)&UF_DUALMODE) && skill_id != BD_LULLABY ) //Lullaby is the exception, bugreport:411
+ if( su->group->interval != -1 && !(skill->get_unit_flag(skill_id)&UF_DUALMODE) && skill_id != BD_LULLABY ) //Lullaby is the exception, bugreport:411
{ //Non-dualmode unit skills with a timer don't trigger when walking, so just return
- if( dissonance ) skill->dance_switch(unit, 1);
+ if( dissonance ) skill->dance_switch(su, 1);
return 0;
}
//Target-type check.
- if( !(group->bl_flag&target->type && battle->check_target(&unit->bl,target,group->target_flag) > 0) ) {
+ if( !(group->bl_flag&target->type && battle->check_target(&su->bl,target,group->target_flag) > 0) ) {
if( group->src_id == target->id && group->state.song_dance&0x2 ) { //Ensemble check to see if they went out/in of the area [Skotlex]
if( flag&1 ) {
if( flag&2 ) { //Clear this skill id.
@@ -15805,19 +15798,19 @@ int skill_unit_move_sub (struct block_list* bl, va_list ap) {
skill->unit_onleft(skill_id,target,tick);
}
- if( dissonance ) skill->dance_switch(unit, 1);
+ if( dissonance ) skill->dance_switch(su, 1);
return 0;
} else {
if( flag&1 ) {
- int result = skill->unit_onplace(unit,target,tick);
+ int result = skill->unit_onplace(su,target,tick);
if( flag&2 && result ) { //Clear skill ids we have stored in onout.
ARR_FIND( 0, ARRAYLENGTH(skill_unit_temp), i, skill_unit_temp[i] == result );
if( i < ARRAYLENGTH(skill_unit_temp) )
skill_unit_temp[i] = 0;
}
} else {
- int result = skill->unit_onout(unit,target,tick);
+ int result = skill->unit_onout(su,target,tick);
if( flag&2 && result ) { //Store this unit id.
ARR_FIND( 0, ARRAYLENGTH(skill_unit_temp), i, skill_unit_temp[i] == 0 );
if( i < ARRAYLENGTH(skill_unit_temp) )
@@ -15830,7 +15823,7 @@ int skill_unit_move_sub (struct block_list* bl, va_list ap) {
//TODO: Normally, this is dangerous since the unit and group could be freed
//inside the onout/onplace functions. Currently it is safe because we know song/dance
//cells do not get deleted within them. [Skotlex]
- if( dissonance ) skill->dance_switch(unit, 1);
+ if( dissonance ) skill->dance_switch(su, 1);
if( flag&4 )
skill->unit_onleft(skill_id,target,tick);
@@ -15877,8 +15870,8 @@ int skill_unit_move_unit_group (struct skill_unit_group *group, int16 m, int16 d
int i,j;
unsigned int tick = iTimer->gettick();
int *m_flag;
- struct skill_unit *unit1;
- struct skill_unit *unit2;
+ struct skill_unit *su1;
+ struct skill_unit *su2;
if (group == NULL)
return 0;
@@ -15899,49 +15892,47 @@ int skill_unit_move_unit_group (struct skill_unit_group *group, int16 m, int16 d
// 1: Unit will move to a slot that had another unit of the same group (skill_unit_onplace not needed)
// 2: Another unit from same group will end up positioned on this unit (skill_unit_onout not needed)
// 3: Both 1+2.
- for(i=0;i<group->unit_count;i++){
- unit1=&group->unit[i];
- if (!unit1->alive || unit1->bl.m!=m)
+ for(i=0;i<group->unit_count;i++) {
+ su1=&group->unit[i];
+ if (!su1->alive || su1->bl.m!=m)
continue;
- for(j=0;j<group->unit_count;j++){
- unit2=&group->unit[j];
- if (!unit2->alive)
+ for(j=0;j<group->unit_count;j++) {
+ su2=&group->unit[j];
+ if (!su2->alive)
continue;
- if (unit1->bl.x+dx==unit2->bl.x && unit1->bl.y+dy==unit2->bl.y){
+ if (su1->bl.x+dx==su2->bl.x && su1->bl.y+dy==su2->bl.y) {
m_flag[i] |= 0x1;
}
- if (unit1->bl.x-dx==unit2->bl.x && unit1->bl.y-dy==unit2->bl.y){
+ if (su1->bl.x-dx==su2->bl.x && su1->bl.y-dy==su2->bl.y) {
m_flag[i] |= 0x2;
}
}
}
j = 0;
for (i=0;i<group->unit_count;i++) {
- unit1=&group->unit[i];
- if (!unit1->alive)
+ su1=&group->unit[i];
+ if (!su1->alive)
continue;
if (!(m_flag[i]&0x2)) {
if (group->state.song_dance&0x1) //Cancel dissonance effect.
- skill->dance_overlap(unit1, 0);
- iMap->foreachincell(skill->unit_effect,unit1->bl.m,unit1->bl.x,unit1->bl.y,group->bl_flag,&unit1->bl,tick,4);
+ skill->dance_overlap(su1, 0);
+ iMap->foreachincell(skill->unit_effect,su1->bl.m,su1->bl.x,su1->bl.y,group->bl_flag,&su1->bl,tick,4);
}
//Move Cell using "smart" criteria (avoid useless moving around)
- switch(m_flag[i])
- {
+ switch(m_flag[i]) {
case 0:
//Cell moves independently, safely move it.
- iMap->moveblock(&unit1->bl, unit1->bl.x+dx, unit1->bl.y+dy, tick);
+ iMap->moveblock(&su1->bl, su1->bl.x+dx, su1->bl.y+dy, tick);
break;
case 1:
//Cell moves unto another cell, look for a replacement cell that won't collide
//and has no cell moving into it (flag == 2)
- for(;j<group->unit_count;j++)
- {
+ for(;j<group->unit_count;j++) {
if(m_flag[j]!=2 || !group->unit[j].alive)
continue;
//Move to where this cell would had moved.
- unit2 = &group->unit[j];
- iMap->moveblock(&unit1->bl, unit2->bl.x+dx, unit2->bl.y+dy, tick);
+ su2 = &group->unit[j];
+ iMap->moveblock(&su1->bl, su2->bl.x+dx, su2->bl.y+dy, tick);
j++; //Skip this cell as we have used it.
break;
}
@@ -15952,9 +15943,9 @@ int skill_unit_move_unit_group (struct skill_unit_group *group, int16 m, int16 d
}
if (!(m_flag[i]&0x2)) { //We only moved the cell in 0-1
if (group->state.song_dance&0x1) //Check for dissonance effect.
- skill->dance_overlap(unit1, 1);
- clif->skill_setunit(unit1);
- iMap->foreachincell(skill->unit_effect,unit1->bl.m,unit1->bl.x,unit1->bl.y,group->bl_flag,&unit1->bl,tick,1);
+ skill->dance_overlap(su1, 1);
+ clif->skill_setunit(su1);
+ iMap->foreachincell(skill->unit_effect,su1->bl.m,su1->bl.x,su1->bl.y,group->bl_flag,&su1->bl,tick,1);
}
}
aFree(m_flag);
@@ -16168,9 +16159,9 @@ int skill_produce_mix (struct map_session_data *sd, uint16 skill_id, int nameid,
+ pc->checkskill(sd,AM_PHARMACY)*300 + sd->status.job_level*20
+ (status->int_/2)*10 + status->dex*10+status->luk*10;
if(homun_alive(sd->hd)) {//Player got a homun
- int skill;
- if((skill=homun->checkskill(sd->hd,HVAN_INSTRUCT)) > 0) //His homun is a vanil with instruction change
- make_per += skill*100; //+1% bonus per level
+ int skill2_lv;
+ if((skill2_lv=homun->checkskill(sd->hd,HVAN_INSTRUCT)) > 0) //His homun is a vanil with instruction change
+ make_per += skill2_lv*100; //+1% bonus per level
}
switch(nameid){
case 501: // Red Potion
diff --git a/src/map/skill.h b/src/map/skill.h
index 995874de4..21544b730 100644
--- a/src/map/skill.h
+++ b/src/map/skill.h
@@ -1820,7 +1820,7 @@ struct skill_interface {
struct skill_unit_group* (*id2group) (int group_id);
struct skill_unit_group *(*unitsetting) (struct block_list* src, uint16 skill_id, uint16 skill_lv, short x, short y, int flag);
struct skill_unit *(*initunit) (struct skill_unit_group *group, int idx, int x, int y, int val1, int val2);
- int (*delunit) (struct skill_unit *unit);
+ int (*delunit) (struct skill_unit *su);
struct skill_unit_group *(*init_unitgroup) (struct block_list* src, int count, uint16 skill_id, uint16 skill_lv, int unit_id, int limit, int interval);
int (*del_unitgroup) (struct skill_unit_group *group, const char* file, int line, const char* func);
int (*clear_unitgroup) (struct block_list *src);
@@ -1883,14 +1883,14 @@ struct skill_interface {
int (*graffitiremover) (struct block_list *bl, va_list ap);
int (*activate_reverberation) ( struct block_list *bl, va_list ap);
int (*dance_overlap_sub) (struct block_list* bl, va_list ap);
- int (*dance_overlap) (struct skill_unit* unit, int flag);
+ int (*dance_overlap) (struct skill_unit* su, int flag);
struct s_skill_unit_layout *(*get_unit_layout) (uint16 skill_id, uint16 skill_lv, struct block_list* src, int x, int y);
int (*frostjoke_scream) (struct block_list *bl, va_list ap);
int (*greed) (struct block_list *bl, va_list ap);
int (*destroy_trap) ( struct block_list *bl, va_list ap );
int (*icewall_block) (struct block_list *bl,va_list ap);
struct skill_unit_group_tickset *(*unitgrouptickset_search) (struct block_list *bl, struct skill_unit_group *group, int tick);
- bool (*dance_switch) (struct skill_unit* unit, int flag);
+ bool (*dance_switch) (struct skill_unit* su, int flag);
int (*check_condition_char_sub) (struct block_list *bl, va_list ap);
int (*check_condition_mob_master_sub) (struct block_list *bl, va_list ap);
void (*brandishspear_first) (struct square *tc, uint8 dir, int16 x, int16 y);
diff --git a/src/map/status.c b/src/map/status.c
index ee5d4bfd5..4f4edf31f 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -82,7 +82,7 @@ static struct status_data dummy_status;
sc_type status_skill2sc(int skill_id) {
int idx;
if( (idx = skill->get_index(skill_id)) == 0 ) {
- ShowError("status_skill2sc: Unsupported skill id %d\n", skill);
+ ShowError("status_skill2sc: Unsupported skill id %d\n", skill_id);
return SC_NONE;
}
return SkillStatusChangeTable[idx];
@@ -2334,7 +2334,7 @@ int status_calc_pc_(struct map_session_data* sd, bool first)
const struct status_change *sc = &sd->sc;
struct s_skill b_skill[MAX_SKILL]; // previous skill tree
int b_weight, b_max_weight, b_cart_weight_max, // previous weight
- i, k, index, skill,refinedef=0;
+ i, k, index, skill_lv,refinedef=0;
int64 i64;
if (++calculating > 10) //Too many recursive calls!
@@ -2742,12 +2742,12 @@ int status_calc_pc_(struct map_session_data* sd, bool first)
// Absolute modifiers from passive skills
if(pc->checkskill(sd,BS_HILTBINDING)>0)
status->str++;
- if((skill=pc->checkskill(sd,SA_DRAGONOLOGY))>0)
- status->int_ += (skill+1)/2; // +1 INT / 2 lv
- if((skill=pc->checkskill(sd,AC_OWL))>0)
- status->dex += skill;
- if((skill = pc->checkskill(sd,RA_RESEARCHTRAP))>0)
- status->int_ += skill;
+ if((skill_lv=pc->checkskill(sd,SA_DRAGONOLOGY))>0)
+ status->int_ += (skill_lv+1)/2; // +1 INT / 2 lv
+ if((skill_lv=pc->checkskill(sd,AC_OWL))>0)
+ status->dex += skill_lv;
+ if((skill_lv = pc->checkskill(sd,RA_RESEARCHTRAP))>0)
+ status->int_ += skill_lv;
// Bonuses from cards and equipment as well as base stat, remember to avoid overflows.
i = status->str + sd->status.str + sd->param_bonus[0] + sd->param_equip[0];
@@ -2771,7 +2771,7 @@ int status_calc_pc_(struct map_session_data* sd, bool first)
status->batk += sd->weapon_atk[sd->status.weapon];
// Absolute modifiers from passive skills
#ifndef RENEWAL
- if((skill=pc->checkskill(sd,BS_HILTBINDING))>0) // it doesn't work in RE.
+ if((skill_lv=pc->checkskill(sd,BS_HILTBINDING))>0) // it doesn't work in RE.
status->batk += 4;
#endif
@@ -2785,8 +2785,8 @@ int status_calc_pc_(struct map_session_data* sd, bool first)
status->max_hp = (unsigned int)cap_value(i64, 0, INT_MAX);
// Absolute modifiers from passive skills
- if((skill=pc->checkskill(sd,CR_TRUST))>0)
- status->max_hp += skill*200;
+ if((skill_lv=pc->checkskill(sd,CR_TRUST))>0)
+ status->max_hp += skill_lv*200;
// Apply relative modifiers from equipment
if(sd->hprate < 0)
@@ -2810,16 +2810,16 @@ int status_calc_pc_(struct map_session_data* sd, bool first)
status->max_sp = (unsigned int)cap_value(i64, 0, INT_MAX);
// Absolute modifiers from passive skills
- if((skill=pc->checkskill(sd,SL_KAINA))>0)
- status->max_sp += 30*skill;
- if((skill=pc->checkskill(sd,HP_MEDITATIO))>0)
- status->max_sp += (int64)status->max_sp * skill/100;
- if((skill=pc->checkskill(sd,HW_SOULDRAIN))>0)
- status->max_sp += (int64)status->max_sp * 2*skill/100;
- if( (skill = pc->checkskill(sd,RA_RESEARCHTRAP)) > 0 )
- status->max_sp += 200 + 20 * skill;
- if( (skill = pc->checkskill(sd,WM_LESSON)) > 0 )
- status->max_sp += 30 * skill;
+ if((skill_lv=pc->checkskill(sd,SL_KAINA))>0)
+ status->max_sp += 30*skill_lv;
+ if((skill_lv=pc->checkskill(sd,HP_MEDITATIO))>0)
+ status->max_sp += (int64)status->max_sp * skill_lv/100;
+ if((skill_lv=pc->checkskill(sd,HW_SOULDRAIN))>0)
+ status->max_sp += (int64)status->max_sp * 2*skill_lv/100;
+ if( (skill_lv = pc->checkskill(sd,RA_RESEARCHTRAP)) > 0 )
+ status->max_sp += 200 + 20 * skill_lv;
+ if( (skill_lv = pc->checkskill(sd,WM_LESSON)) > 0 )
+ status->max_sp += 30 * skill_lv;
// Apply relative modifiers from equipment
@@ -2903,33 +2903,32 @@ int status_calc_pc_(struct map_session_data* sd, bool first)
// Absolute modifiers from passive skills
#ifndef RENEWAL
- if((skill=pc->checkskill(sd,BS_WEAPONRESEARCH))>0) // is this correct in pre? there is already hitrate bonus in battle.c
- status->hit += skill*2;
+ if((skill_lv=pc->checkskill(sd,BS_WEAPONRESEARCH))>0) // is this correct in pre? there is already hitrate bonus in battle.c
+ status->hit += skill_lv*2;
#endif
- if((skill=pc->checkskill(sd,AC_VULTURE))>0){
+ if((skill_lv=pc->checkskill(sd,AC_VULTURE))>0) {
#ifndef RENEWAL
- status->hit += skill;
+ status->hit += skill_lv;
#endif
if(sd->status.weapon == W_BOW)
- status->rhw.range += skill;
+ status->rhw.range += skill_lv;
}
- if(sd->status.weapon >= W_REVOLVER && sd->status.weapon <= W_GRENADE)
- {
- if((skill=pc->checkskill(sd,GS_SINGLEACTION))>0)
- status->hit += 2*skill;
- if((skill=pc->checkskill(sd,GS_SNAKEEYE))>0) {
- status->hit += skill;
- status->rhw.range += skill;
+ if(sd->status.weapon >= W_REVOLVER && sd->status.weapon <= W_GRENADE) {
+ if((skill_lv=pc->checkskill(sd,GS_SINGLEACTION))>0)
+ status->hit += 2*skill_lv;
+ if((skill_lv=pc->checkskill(sd,GS_SNAKEEYE))>0) {
+ status->hit += skill_lv;
+ status->rhw.range += skill_lv;
}
}
// ----- FLEE CALCULATION -----
// Absolute modifiers from passive skills
- if((skill=pc->checkskill(sd,TF_MISS))>0)
- status->flee += skill*(sd->class_&JOBL_2 && (sd->class_&MAPID_BASEMASK) == MAPID_THIEF? 4 : 3);
- if((skill=pc->checkskill(sd,MO_DODGE))>0)
- status->flee += (skill*3)>>1;
+ if((skill_lv=pc->checkskill(sd,TF_MISS))>0)
+ status->flee += skill_lv*(sd->class_&JOBL_2 && (sd->class_&MAPID_BASEMASK) == MAPID_THIEF? 4 : 3);
+ if((skill_lv=pc->checkskill(sd,MO_DODGE))>0)
+ status->flee += (skill_lv*3)>>1;
// ----- EQUIPMENT-DEF CALCULATION -----
// Apply relative modifiers from equipment
@@ -2975,25 +2974,25 @@ int status_calc_pc_(struct map_session_data* sd, bool first)
// Relative modifiers from passive skills
#ifndef RENEWAL_ASPD
- if((skill=pc->checkskill(sd,SA_ADVANCEDBOOK))>0 && sd->status.weapon == W_BOOK)
- status->aspd_rate -= 5*skill;
- if((skill = pc->checkskill(sd,SG_DEVIL)) > 0 && !pc->nextjobexp(sd))
- status->aspd_rate -= 30*skill;
- if((skill=pc->checkskill(sd,GS_SINGLEACTION))>0 &&
+ if((skill_lv=pc->checkskill(sd,SA_ADVANCEDBOOK))>0 && sd->status.weapon == W_BOOK)
+ status->aspd_rate -= 5*skill_lv;
+ if((skill_lv = pc->checkskill(sd,SG_DEVIL)) > 0 && !pc->nextjobexp(sd))
+ status->aspd_rate -= 30*skill_lv;
+ if((skill_lv=pc->checkskill(sd,GS_SINGLEACTION))>0 &&
(sd->status.weapon >= W_REVOLVER && sd->status.weapon <= W_GRENADE))
- status->aspd_rate -= ((skill+1)/2) * 10;
+ status->aspd_rate -= ((skill_lv+1)/2) * 10;
if(pc_isriding(sd))
status->aspd_rate += 500-100*pc->checkskill(sd,KN_CAVALIERMASTERY);
else if(pc_isridingdragon(sd))
status->aspd_rate += 250-50*pc->checkskill(sd,RK_DRAGONTRAINING);
#else // needs more info
- if((skill=pc->checkskill(sd,SA_ADVANCEDBOOK))>0 && sd->status.weapon == W_BOOK)
- status->aspd_rate += 5*skill;
- if((skill = pc->checkskill(sd,SG_DEVIL)) > 0 && !pc->nextjobexp(sd))
- status->aspd_rate += 30*skill;
- if((skill=pc->checkskill(sd,GS_SINGLEACTION))>0 &&
+ if((skill_lv=pc->checkskill(sd,SA_ADVANCEDBOOK))>0 && sd->status.weapon == W_BOOK)
+ status->aspd_rate += 5*skill_lv;
+ if((skill_lv = pc->checkskill(sd,SG_DEVIL)) > 0 && !pc->nextjobexp(sd))
+ status->aspd_rate += 30*skill_lv;
+ if((skill_lv=pc->checkskill(sd,GS_SINGLEACTION))>0 &&
(sd->status.weapon >= W_REVOLVER && sd->status.weapon <= W_GRENADE))
- status->aspd_rate += ((skill+1)/2) * 10;
+ status->aspd_rate += ((skill_lv+1)/2) * 10;
if(pc_isriding(sd))
status->aspd_rate -= 500-100*pc->checkskill(sd,KN_CAVALIERMASTERY);
else if(pc_isridingdragon(sd))
@@ -3012,16 +3011,16 @@ int status_calc_pc_(struct map_session_data* sd, bool first)
// ----- MISC CALCULATIONS -----
// Weight
- if((skill=pc->checkskill(sd,MC_INCCARRY))>0)
- sd->max_weight += 2000*skill;
+ if((skill_lv=pc->checkskill(sd,MC_INCCARRY))>0)
+ sd->max_weight += 2000*skill_lv;
if(pc_isriding(sd) && pc->checkskill(sd,KN_RIDING)>0)
sd->max_weight += 10000;
else if(pc_isridingdragon(sd))
sd->max_weight += 5000+2000*pc->checkskill(sd,RK_DRAGONTRAINING);
if(sc->data[SC_KNOWLEDGE])
sd->max_weight += sd->max_weight*sc->data[SC_KNOWLEDGE]->val1/10;
- if((skill=pc->checkskill(sd,ALL_INCCARRY))>0)
- sd->max_weight += 2000*skill;
+ if((skill_lv=pc->checkskill(sd,ALL_INCCARRY))>0)
+ sd->max_weight += 2000*skill_lv;
sd->cart_weight_max = battle_config.max_cart_weight + (pc->checkskill(sd, GN_REMODELING_CART)*5000);
@@ -3031,8 +3030,8 @@ int status_calc_pc_(struct map_session_data* sd, bool first)
sd->regen.state.walk = 0;
// Skill SP cost
- if((skill=pc->checkskill(sd,HP_MANARECHARGE))>0 )
- sd->dsprate -= 4*skill;
+ if((skill_lv=pc->checkskill(sd,HP_MANARECHARGE))>0 )
+ sd->dsprate -= 4*skill_lv;
if(sc->data[SC_SERVICEFORYOU])
sd->dsprate -= sc->data[SC_SERVICEFORYOU]->val3;
@@ -3053,29 +3052,29 @@ int status_calc_pc_(struct map_session_data* sd, bool first)
sd->sprecov_rate = 0;
// Anti-element and anti-race
- if((skill=pc->checkskill(sd,CR_TRUST))>0)
- sd->subele[ELE_HOLY] += skill*5;
- if((skill=pc->checkskill(sd,BS_SKINTEMPER))>0) {
- sd->subele[ELE_NEUTRAL] += skill;
- sd->subele[ELE_FIRE] += skill*4;
+ if((skill_lv=pc->checkskill(sd,CR_TRUST))>0)
+ sd->subele[ELE_HOLY] += skill_lv*5;
+ if((skill_lv=pc->checkskill(sd,BS_SKINTEMPER))>0) {
+ sd->subele[ELE_NEUTRAL] += skill_lv;
+ sd->subele[ELE_FIRE] += skill_lv*4;
}
- if((skill=pc->checkskill(sd,NC_RESEARCHFE))>0) {
- sd->subele[ELE_EARTH] += skill*10;
- sd->subele[ELE_FIRE] += skill*10;
+ if((skill_lv=pc->checkskill(sd,NC_RESEARCHFE))>0) {
+ sd->subele[ELE_EARTH] += skill_lv*10;
+ sd->subele[ELE_FIRE] += skill_lv*10;
}
- if((skill=pc->checkskill(sd,SA_DRAGONOLOGY))>0 ){
+ if((skill_lv=pc->checkskill(sd,SA_DRAGONOLOGY))>0 ) {
#ifdef RENEWAL
- skill = skill*2;
+ skill_lv = skill_lv*2;
#else
- skill = skill*4;
+ skill_lv = skill_lv*4;
#endif
- sd->right_weapon.addrace[RC_DRAGON]+=skill;
- sd->left_weapon.addrace[RC_DRAGON]+=skill;
- sd->magic_addrace[RC_DRAGON]+=skill;
- sd->subrace[RC_DRAGON]+=skill;
+ sd->right_weapon.addrace[RC_DRAGON]+=skill_lv;
+ sd->left_weapon.addrace[RC_DRAGON]+=skill_lv;
+ sd->magic_addrace[RC_DRAGON]+=skill_lv;
+ sd->subrace[RC_DRAGON]+=skill_lv;
}
- if(sc->count){
+ if(sc->count) {
if(sc->data[SC_CONCENTRATION]) { //Update the card-bonus data
sc->data[SC_CONCENTRATION]->val3 = sd->param_bonus[1]; //Agi
sc->data[SC_CONCENTRATION]->val4 = sd->param_bonus[4]; //Dex
@@ -3183,11 +3182,10 @@ int status_calc_mercenary_(struct mercenary_data *md, bool first)
return 0;
}
-int status_calc_homunculus_(struct homun_data *hd, bool first)
-{
+int status_calc_homunculus_(struct homun_data *hd, bool first) {
struct status_data *status = &hd->base_status;
struct s_homunculus *hom = &hd->homunculus;
- int skill;
+ int skill_lv;
int amotion;
status->str = hom->str / 10;
@@ -3197,7 +3195,7 @@ int status_calc_homunculus_(struct homun_data *hd, bool first)
status->int_ = hom->int_ / 10;
status->luk = hom->luk / 10;
- if (first) { //[orn]
+ if (first) { //[orn]
const struct s_homunculus_db *db = hd->homunculusDB;
status->def_ele = db->element;
status->ele_lv = 1;
@@ -3212,30 +3210,30 @@ int status_calc_homunculus_(struct homun_data *hd, bool first)
status->hp = 1;
status->sp = 1;
}
- skill = hom->level/10 + status->vit/5;
- status->def = cap_value(skill, 0, 99);
+ skill_lv = hom->level/10 + status->vit/5;
+ status->def = cap_value(skill_lv, 0, 99);
- skill = hom->level/10 + status->int_/5;
- status->mdef = cap_value(skill, 0, 99);
+ skill_lv = hom->level/10 + status->int_/5;
+ status->mdef = cap_value(skill_lv, 0, 99);
status->max_hp = hom->max_hp ;
status->max_sp = hom->max_sp ;
homun->calc_skilltree(hd, 0);
- if((skill=homun->checkskill(hd,HAMI_SKIN)) > 0)
- status->def += skill * 4;
+ if((skill_lv=homun->checkskill(hd,HAMI_SKIN)) > 0)
+ status->def += skill_lv * 4;
- if((skill = homun->checkskill(hd,HVAN_INSTRUCT)) > 0) {
- status->int_ += 1 +skill/2 +skill/4 +skill/5;
- status->str += 1 +skill/3 +skill/3 +skill/4;
+ if((skill_lv = homun->checkskill(hd,HVAN_INSTRUCT)) > 0) {
+ status->int_ += 1 +skill_lv/2 +skill_lv/4 +skill_lv/5;
+ status->str += 1 +skill_lv/3 +skill_lv/3 +skill_lv/4;
}
- if((skill=homun->checkskill(hd,HAMI_SKIN)) > 0)
- status->max_hp += skill * 2 * status->max_hp / 100;
+ if((skill_lv=homun->checkskill(hd,HAMI_SKIN)) > 0)
+ status->max_hp += skill_lv * 2 * status->max_hp / 100;
- if((skill = homun->checkskill(hd,HLIF_BRAIN)) > 0)
- status->max_sp += (1 +skill/2 -skill/4 +skill/5) * status->max_sp / 100 ;
+ if((skill_lv = homun->checkskill(hd,HLIF_BRAIN)) > 0)
+ status->max_sp += (1 +skill_lv/2 -skill_lv/4 +skill_lv/5) * status->max_sp / 100 ;
if (first) {
hd->battle_status.hp = hom->hp ;
@@ -3365,10 +3363,9 @@ static unsigned short status_calc_batk(struct block_list *,struct status_change
#endif
//Calculates base regen values.
-void status_calc_regen(struct block_list *bl, struct status_data *status, struct regen_data *regen)
-{
+void status_calc_regen(struct block_list *bl, struct status_data *status, struct regen_data *regen) {
struct map_session_data *sd;
- int val, skill, reg_flag;
+ int val, skill_lv, reg_flag;
if( !(bl->type&BL_REGEN) || !regen )
return;
@@ -3392,29 +3389,27 @@ void status_calc_regen(struct block_list *bl, struct status_data *status, struct
regen->sp = cap_value(val, reg_flag, SHRT_MAX);
- if( sd )
- {
+ if( sd ) {
struct regen_data_sub *sregen;
- if( (skill=pc->checkskill(sd,HP_MEDITATIO)) > 0 )
- {
- val = regen->sp*(100+3*skill)/100;
+ if( (skill_lv=pc->checkskill(sd,HP_MEDITATIO)) > 0 ) {
+ val = regen->sp*(100+3*skill_lv)/100;
regen->sp = cap_value(val, 1, SHRT_MAX);
}
//Only players have skill/sitting skill regen for now.
sregen = regen->sregen;
val = 0;
- if( (skill=pc->checkskill(sd,SM_RECOVERY)) > 0 )
- val += skill*5 + skill*status->max_hp/500;
+ if( (skill_lv=pc->checkskill(sd,SM_RECOVERY)) > 0 )
+ val += skill_lv*5 + skill_lv*status->max_hp/500;
sregen->hp = cap_value(val, 0, SHRT_MAX);
val = 0;
- if( (skill=pc->checkskill(sd,MG_SRECOVERY)) > 0 )
- val += skill*3 + skill*status->max_sp/500;
- if( (skill=pc->checkskill(sd,NJ_NINPOU)) > 0 )
- val += skill*3 + skill*status->max_sp/500;
- if( (skill=pc->checkskill(sd,WM_LESSON)) > 0 )
- val += 3 + 3 * skill;
+ if( (skill_lv=pc->checkskill(sd,MG_SRECOVERY)) > 0 )
+ val += skill_lv*3 + skill_lv*status->max_sp/500;
+ if( (skill_lv=pc->checkskill(sd,NJ_NINPOU)) > 0 )
+ val += skill_lv*3 + skill_lv*status->max_sp/500;
+ if( (skill_lv=pc->checkskill(sd,WM_LESSON)) > 0 )
+ val += 3 + 3 * skill_lv;
sregen->sp = cap_value(val, 0, SHRT_MAX);
@@ -3422,33 +3417,32 @@ void status_calc_regen(struct block_list *bl, struct status_data *status, struct
sregen = regen->ssregen;
val = 0;
- if( (skill=pc->checkskill(sd,MO_SPIRITSRECOVERY)) > 0 )
- val += skill*4 + skill*status->max_hp/500;
+ if( (skill_lv=pc->checkskill(sd,MO_SPIRITSRECOVERY)) > 0 )
+ val += skill_lv*4 + skill_lv*status->max_hp/500;
- if( (skill=pc->checkskill(sd,TK_HPTIME)) > 0 && sd->state.rest )
- val += skill*30 + skill*status->max_hp/500;
+ if( (skill_lv=pc->checkskill(sd,TK_HPTIME)) > 0 && sd->state.rest )
+ val += skill_lv*30 + skill_lv*status->max_hp/500;
sregen->hp = cap_value(val, 0, SHRT_MAX);
val = 0;
- if( (skill=pc->checkskill(sd,TK_SPTIME)) > 0 && sd->state.rest )
- {
- val += skill*3 + skill*status->max_sp/500;
- if ((skill=pc->checkskill(sd,SL_KAINA)) > 0) //Power up Enjoyable Rest
- val += (30+10*skill)*val/100;
+ if( (skill_lv=pc->checkskill(sd,TK_SPTIME)) > 0 && sd->state.rest ) {
+ val += skill_lv*3 + skill_lv*status->max_sp/500;
+ if ((skill_lv=pc->checkskill(sd,SL_KAINA)) > 0) //Power up Enjoyable Rest
+ val += (30+10*skill_lv)*val/100;
}
- if( (skill=pc->checkskill(sd,MO_SPIRITSRECOVERY)) > 0 )
- val += skill*2 + skill*status->max_sp/500;
+ if( (skill_lv=pc->checkskill(sd,MO_SPIRITSRECOVERY)) > 0 )
+ val += skill_lv*2 + skill_lv*status->max_sp/500;
sregen->sp = cap_value(val, 0, SHRT_MAX);
}
if( bl->type == BL_HOM ) {
struct homun_data *hd = (TBL_HOM*)bl;
- if( (skill = homun->checkskill(hd,HAMI_SKIN)) > 0 ) {
- val = regen->hp*(100+5*skill)/100;
+ if( (skill_lv = homun->checkskill(hd,HAMI_SKIN)) > 0 ) {
+ val = regen->hp*(100+5*skill_lv)/100;
regen->hp = cap_value(val, 1, SHRT_MAX);
}
- if( (skill = homun->checkskill(hd,HLIF_BRAIN)) > 0 ) {
- val = regen->sp*(100+3*skill)/100;
+ if( (skill_lv = homun->checkskill(hd,HLIF_BRAIN)) > 0 ) {
+ val = regen->sp*(100+3*skill_lv)/100;
regen->sp = cap_value(val, 1, SHRT_MAX);
}
} else if( bl->type == BL_MER ) {
diff --git a/src/map/status.h b/src/map/status.h
index d5a40e356..9d49ff3af 100644
--- a/src/map/status.h
+++ b/src/map/status.h
@@ -1796,7 +1796,7 @@ struct status_interface {
int (*get_refine_chance) (enum refine_type wlv, int refine);
// for looking up associated data
- sc_type (*skill2sc) (int skill);
+ sc_type (*skill2sc) (int skill_id);
int (*sc2skill) (sc_type sc);
unsigned int (*sc2scb_flag) (sc_type sc);
int (*type2relevant_bl_types) (int type);
diff --git a/src/map/vending.h b/src/map/vending.h
index 1b4381ccd..968811ecd 100644
--- a/src/map/vending.h
+++ b/src/map/vending.h
@@ -31,7 +31,7 @@ struct vending_interface {
bool (*searchall) (struct map_session_data* sd, const struct s_search_store_search* s);
};
-struct vending_interface * vending;
+struct vending_interface *vending;
void vending_defaults(void);