summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conf/battle/player.conf5
-rw-r--r--src/map/battle.c3
-rw-r--r--src/map/battle.h2
-rw-r--r--src/map/itemdb.c11
-rw-r--r--src/map/pc.c3
-rw-r--r--src/map/pc.h6
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
**/