From a94228021e93b27de5f1c16bfbe580f57724b73e Mon Sep 17 00:00:00 2001 From: Vicious Date: Thu, 9 Mar 2006 21:02:48 +0000 Subject: fixing max_weapon_size git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5541 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/battle.c | 2 +- src/map/status.c | 22 +++++++++++----------- 2 files changed, 12 insertions(+), 12 deletions(-) (limited to 'src') diff --git a/src/map/battle.c b/src/map/battle.c index 526b0dc68..66decc94d 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -1577,7 +1577,7 @@ static struct Damage battle_calc_weapon_attack( //Add any bonuses that modify the base baseatk+watk (pre-skills) if(sd) { - if (sd->status.weapon < MAX_WEAPON_TYPE && (sd->atk_rate != 100 || sd->weapon_atk_rate[sd->status.weapon] != 0)) + if (sd->status.weapon <= MAX_WEAPON_TYPE && (sd->atk_rate != 100 || sd->weapon_atk_rate[sd->status.weapon] != 0)) ATK_RATE(sd->atk_rate + sd->weapon_atk_rate[sd->status.weapon]); if(flag.cri && sd->crit_atk_rate) diff --git a/src/map/status.c b/src/map/status.c index 8b5645ccb..c37a1943a 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -39,7 +39,7 @@ static int aspd_base[MAX_PC_CLASS][MAX_WEAPON_TYPE+1]; //[blackhole89] #define MAX_REFINE_BONUS 5 static int refinebonus[MAX_REFINE_BONUS][3]; // Έ˜Bƒ{[ƒiƒXƒe[ƒuƒ‹(refine_db.txt) int percentrefinery[5][MAX_REFINE+1]; // Έ˜B¬Œχ—¦(refine_db.txt) -static int atkmods[3][MAX_WEAPON_TYPE]; // •ŠνATKƒTƒCƒYC³(size_fix.txt) +static int atkmods[3][MAX_WEAPON_TYPE+1]; // •ŠνATKƒTƒCƒYC³(size_fix.txt) static char job_bonus[MAX_PC_CLASS][MAX_LEVEL]; int current_equip_item_index; //Contains inventory index of an equipped item. To pass it into the EQUP_SCRIPT [Lupus] @@ -1339,7 +1339,7 @@ int status_calc_pc(struct map_session_data* sd,int first) // Unlike other stats, ASPD rate modifiers from skills/SCs/items/etc are first all added together, then the final modifier is applied // Basic ASPD value - if (sd->status.weapon < MAX_WEAPON_TYPE) + if (sd->status.weapon <= MAX_WEAPON_TYPE) sd->aspd += aspd_base[sd->status.class_][sd->status.weapon]-(sd->paramc[1]*4+sd->paramc[4])*aspd_base[sd->status.class_][sd->status.weapon]/1000; else sd->aspd += ( @@ -2719,7 +2719,7 @@ int status_get_batk(struct block_list *bl) if(bl->type==BL_PC) { batk = ((struct map_session_data *)bl)->base_atk; - if (((struct map_session_data *)bl)->status.weapon < MAX_WEAPON_TYPE) + if (((struct map_session_data *)bl)->status.weapon <= MAX_WEAPON_TYPE) batk += ((struct map_session_data *)bl)->weapon_atk[((struct map_session_data *)bl)->status.weapon]; } else { int str,dstr; @@ -5740,15 +5740,15 @@ int status_readdb(void) { char *split[MAX_WEAPON_TYPE + 6]; if(line[0]=='/' && line[1]=='/') continue; - for(j=0,p=line;j<=(MAX_WEAPON_TYPE + 5) && p;j++){ //not 22 anymore [blackhole89] + for(j=0,p=line;j< (MAX_WEAPON_TYPE + 6) && p;j++){ //not 22 anymore [blackhole89] split[j]=p; p=strchr(p,','); if(p) *p++=0; } - if(j<=(MAX_WEAPON_TYPE + 5)) //Weapon #.MAX_WEAPON_TYPE is constantly not load. Fix to that: replace < with <= [blackhole89] + if(j < MAX_WEAPON_TYPE + 6) //Weapon #.MAX_WEAPON_TYPE is constantly not load. Fix to that: replace < with <= [blackhole89] + continue; + if(atoi(split[0])>=MAX_PC_CLASS) continue; - if(atoi(split[0])>=MAX_PC_CLASS) - continue; max_weight_base[atoi(split[0])]=atoi(split[1]); hp_coefficient[atoi(split[0])]=atoi(split[2]); hp_coefficient2[atoi(split[0])]=atoi(split[3]); @@ -5785,7 +5785,7 @@ int status_readdb(void) { // ƒTƒCƒY•␳ƒe?ƒuƒ‹ for(i=0;i<3;i++) - for(j=0;j