浏览代码

Fixed bugreport:5994 misuse of inline against msvc standards (and inline was pointless there too. thought it'd be used elsewhere, not the case).
Blame on r16273

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@16274 54d463be-8e91-2dee-dedb-b68131a5f0ec

shennetsind 13 年之前
父节点
当前提交
4f1f7b9d38
共有 3 个文件被更改,包括 6 次插入14 次删除
  1. 0 10
      src/map/pc.c
  2. 0 2
      src/map/pc.h
  3. 6 2
      src/map/skill.c

+ 0 - 10
src/map/pc.c

@@ -6098,16 +6098,6 @@ int pc_skillatk_bonus(struct map_session_data *sd, int skill_num)
 	return bonus;
 }
 
-inline int pc_sp_rate_skill(struct map_session_data *sd, int skill_num) {
-	int i, bonus = 100;
-	
-	ARR_FIND(0, ARRAYLENGTH(sd->sprateskill), i, sd->sprateskill[i].id == skill_num);
-	if( i < ARRAYLENGTH(sd->sprateskill) )
-		bonus += sd->sprateskill[i].val;
-	
-	return bonus;
-}
-
 int pc_skillheal_bonus(struct map_session_data *sd, int skill_num) {
 	int i, bonus = sd->bonus.add_heal_rate;
 

+ 0 - 2
src/map/pc.h

@@ -907,6 +907,4 @@ void pc_overheat(struct map_session_data *sd, int val);
 int pc_banding(struct map_session_data *sd, short skill_lv);
 
 void pc_itemcd_do(struct map_session_data *sd, bool load);
-
-inline int pc_sp_rate_skill(struct map_session_data *sd, int skill_num);
 #endif /* _PC_H_ */

+ 6 - 2
src/map/skill.c

@@ -12700,7 +12700,7 @@ struct skill_condition skill_get_requirement(struct map_session_data* sd, short
 	struct skill_condition req;
 	struct status_data *status;
 	struct status_change *sc;
-	int i,j,hp_rate,sp_rate;
+	int i,j,hp_rate,sp_rate, sp_skill_rate_bonus = 100;
 
 	memset(&req,0,sizeof(req));
 
@@ -12750,7 +12750,11 @@ struct skill_condition skill_get_requirement(struct map_session_data* sd, short
 	if( sd->dsprate != 100 )
 		req.sp = req.sp * sd->dsprate / 100;
 
-	req.sp = cap_value(req.sp * pc_sp_rate_skill(sd,skill) / 100, 0, SHRT_MAX);
+	ARR_FIND(0, ARRAYLENGTH(sd->sprateskill), i, sd->sprateskill[i].id == skill);
+	if( i < ARRAYLENGTH(sd->sprateskill) )
+		sp_skill_rate_bonus += sd->sprateskill[i].val;
+	
+	req.sp = cap_value(req.sp * sp_skill_rate_bonus / 100, 0, SHRT_MAX);
 	
 	if( sc ) {
 		if( sc->data[SC__LAZINESS] )