diff options
-rw-r--r-- | conf/battle/player.conf | 5 | ||||
-rw-r--r-- | src/map/battle.c | 3 | ||||
-rw-r--r-- | src/map/battle.h | 2 | ||||
-rw-r--r-- | src/map/itemdb.c | 11 | ||||
-rw-r--r-- | src/map/pc.c | 3 | ||||
-rw-r--r-- | src/map/pc.h | 6 |
6 files changed, 24 insertions, 6 deletions
diff --git a/conf/battle/player.conf b/conf/battle/player.conf index 8d335a0cf..ecb96fde6 100644 --- a/conf/battle/player.conf +++ b/conf/battle/player.conf @@ -82,7 +82,10 @@ max_third_parameter: 120 // Same as max_parameter, but for baby classes. max_baby_parameter: 80 -// Max armor def/mdef +// Same as max_parameter, but for baby 3rd's. +max_baby_third_parameter: 108 + +// Max armor def/mdef // NOTE: This setting have no effect if server is run on Renewal Mode (REMODE) // NOTE: does not affects skills and status effects like Mental Strength // If weapon_defense_type is non-zero, it won't apply to max def. diff --git a/src/map/battle.c b/src/map/battle.c index d1e47033f..48f8e1cab 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -5017,7 +5017,8 @@ static const struct _battle_data { /** * rAthena **/ - { "max_third_parameter", &battle_config.max_third_parameter, 20, 0, INT_MAX, }, + { "max_third_parameter", &battle_config.max_third_parameter, 120, 10, 10000, }, + { "max_baby_third_parameter", &battle_config.max_baby_third_parameter, 108, 10, 10000, }, { "atcommand_max_stat_bypass", &battle_config.atcommand_max_stat_bypass, 0, 0, 100, }, { "skill_amotion_leniency", &battle_config.skill_amotion_leniency, 90, 0, 100 }, }; diff --git a/src/map/battle.h b/src/map/battle.h index 69728dd68..3e779c212 100644 --- a/src/map/battle.h +++ b/src/map/battle.h @@ -467,8 +467,10 @@ extern struct Battle_Config int bg_magic_damage_rate; int bg_misc_damage_rate; int bg_flee_penalty; + // rAthena int max_third_parameter; + int max_baby_third_parameter; int atcommand_max_stat_bypass; } battle_config; diff --git a/src/map/itemdb.c b/src/map/itemdb.c index d2386cad0..44a296bb0 100644 --- a/src/map/itemdb.c +++ b/src/map/itemdb.c @@ -259,7 +259,16 @@ static void itemdb_jobid2mapid(unsigned int *bclass, unsigned int jobmask) if (jobmask & 1<<JOB_GUNSLINGER) bclass[0] |= 1<<MAPID_GUNSLINGER; if (jobmask & 1<<JOB_NINJA) - bclass[0] |= 1<<MAPID_NINJA; + {bclass[0] |= 1<<MAPID_NINJA; + bclass[1] |= 1<<MAPID_NINJA;}//Kagerou/Oboro jobs can equip Ninja equips. [Rytech] + if (jobmask & 1<<26) //Bongun/Munak + bclass[0] |= 1<<MAPID_GANGSI; + if (jobmask & 1<<27) //Death Knight + bclass[1] |= 1<<MAPID_GANGSI; + if (jobmask & 1<<28) //Dark Collector + bclass[2] |= 1<<MAPID_GANGSI; + if (jobmask & 1<<29) //Kagerou / Oboro + bclass[1] |= 1<<MAPID_NINJA; } static void create_dummy_data(void) diff --git a/src/map/pc.c b/src/map/pc.c index 8041fd79c..9e548b038 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -594,7 +594,8 @@ int pc_equippoint(struct map_session_data *sd,int n) if(sd->inventory_data[n]->look == W_DAGGER || sd->inventory_data[n]->look == W_1HSWORD || sd->inventory_data[n]->look == W_1HAXE) { - if(ep == EQP_HAND_R && (pc_checkskill(sd,AS_LEFT) > 0 || (sd->class_&MAPID_UPPERMASK) == MAPID_ASSASSIN)) + if(ep == EQP_HAND_R && (pc_checkskill(sd,AS_LEFT) > 0 || (sd->class_&MAPID_UPPERMASK) == MAPID_ASSASSIN || + (sd->class_&MAPID_UPPERMASK) == MAPID_KAGEROUOBORO))//Kagerou and Oboro can dual wield daggers. [Rytech] return EQP_ARMS; } return ep; diff --git a/src/map/pc.h b/src/map/pc.h index ed6695a4f..e74d4a5d0 100644 --- a/src/map/pc.h +++ b/src/map/pc.h @@ -521,7 +521,9 @@ enum ammo_type { A_SHELL, //4 A_GRENADE, //5 A_SHURIKEN, //6 - A_KUNAI //7 + A_KUNAI, //7 + A_CANNONBALL, //8 + A_THROWWEAPON //9 }; //Equip position constants @@ -614,7 +616,7 @@ enum e_pc_permission { #define pc_isinvisible(sd) ( (sd)->sc.option&OPTION_INVISIBLE ) #define pc_is50overweight(sd) ( (sd)->weight*100 >= (sd)->max_weight*battle_config.natural_heal_weight_rate ) #define pc_is90overweight(sd) ( (sd)->weight*10 >= (sd)->max_weight*9 ) -#define pc_maxparameter(sd) ( (sd)->class_&JOBL_THIRD ? battle_config.max_third_parameter : (sd)->class_&JOBL_BABY ? battle_config.max_baby_parameter : battle_config.max_parameter ) +#define pc_maxparameter(sd) ( ((((sd)->class_&MAPID_UPPERMASK) == MAPID_KAGEROUOBORO) || (sd)->class_&JOBL_THIRD ? ((sd)->class_&JOBL_BABY ? battle_config.max_baby_third_parameter : battle_config.max_third_parameter) : ((sd)->class_&JOBL_BABY ? battle_config.max_baby_parameter : battle_config.max_parameter)) ) /** * Ranger **/ |