* Fixed skill_require_db reading somehow getting corrupted if weapons usable for the skill is more than 20
* Fixed @killmonster crashing the server with summoned monsters git-svn-id: https://svn.code.sf.net/p/rathena/svn/branches/stable@908 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
9220ebe438
commit
708fccfa6e
@ -1,8 +1,17 @@
|
|||||||
Date Added
|
Date Added
|
||||||
|
01/05
|
||||||
|
* Fixed skill_require_db reading somehow getting corrupted if weapons usable
|
||||||
|
for the skill is more than 20, thus causing the skills to fail everytime
|
||||||
|
[celest]
|
||||||
|
* Fixed @killmonster crashing the server with summoned monsters, thanks to
|
||||||
|
Alex14 [celest]
|
||||||
|
* Added double_connection_system to battle_athena (not completed yet) [celest]
|
||||||
|
|
||||||
01/04
|
01/04
|
||||||
* Fixed GM Command Logging (Not sure why TXT logging still isn't working properly :( ) [Codemaster] [SVN 907]
|
* Fixed GM Command Logging (Not sure why TXT logging still isn't working properly :( ) [Codemaster] [SVN 907]
|
||||||
* Fixed one of Lupus' additions to the item_db [Codemaster] [SVN 907]
|
* Fixed one of Lupus' additions to the item_db [Codemaster] [SVN 907]
|
||||||
* Fixed Seismic Weapon Skill (it 100% didn't break target's weapon at 4 level of the skill) [Lupus]
|
* Fixed Seismic Weapon Skill (it 100% didn't break target's weapon at 4 level of the skill) [Lupus]
|
||||||
|
|
||||||
01/02
|
01/02
|
||||||
* Re-fixed map-server crashing if an empty line is in skill_castnodex.txt,
|
* Re-fixed map-server crashing if an empty line is in skill_castnodex.txt,
|
||||||
thanks to Alex14 for pointing it out (SVN 899) [celest]
|
thanks to Alex14 for pointing it out (SVN 899) [celest]
|
||||||
|
@ -5325,7 +5325,8 @@ static const struct {
|
|||||||
{ "motd_type", &battle_config.motd_type}, // [celest]
|
{ "motd_type", &battle_config.motd_type}, // [celest]
|
||||||
{ "allow_atcommand_when_mute", &battle_config.allow_atcommand_when_mute}, // [celest]
|
{ "allow_atcommand_when_mute", &battle_config.allow_atcommand_when_mute}, // [celest]
|
||||||
{ "finding_ore_rate", &battle_config.finding_ore_rate}, // [celest]
|
{ "finding_ore_rate", &battle_config.finding_ore_rate}, // [celest]
|
||||||
{ "exp_calc_type", &battle_config.exp_calc_type}, // [celest]
|
{ "exp_calc_type", &battle_config.exp_calc_type}, // [celest]
|
||||||
|
{ "double_login_system", &battle_config.double_login_system}, // [celest]
|
||||||
|
|
||||||
//SQL-only options start
|
//SQL-only options start
|
||||||
#ifndef TXT_ONLY
|
#ifndef TXT_ONLY
|
||||||
@ -5586,6 +5587,7 @@ void battle_set_defaults() {
|
|||||||
battle_config.castrate_dex_scale = 150;
|
battle_config.castrate_dex_scale = 150;
|
||||||
battle_config.area_size = 14;
|
battle_config.area_size = 14;
|
||||||
battle_config.exp_calc_type = 1;
|
battle_config.exp_calc_type = 1;
|
||||||
|
battle_config.double_login_system = 0;
|
||||||
|
|
||||||
//SQL-only options start
|
//SQL-only options start
|
||||||
#ifndef TXT_ONLY
|
#ifndef TXT_ONLY
|
||||||
@ -5723,6 +5725,9 @@ void battle_validate_conf() {
|
|||||||
if (battle_config.vending_max_value > 10000000 || battle_config.vending_max_value<=0) // Lupus & Kobra_k88
|
if (battle_config.vending_max_value > 10000000 || battle_config.vending_max_value<=0) // Lupus & Kobra_k88
|
||||||
battle_config.vending_max_value = 10000000;
|
battle_config.vending_max_value = 10000000;
|
||||||
|
|
||||||
|
if (battle_config.double_login_system < 0)
|
||||||
|
battle_config.double_login_system = 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*==========================================
|
/*==========================================
|
||||||
|
@ -357,6 +357,7 @@ extern struct Battle_Config {
|
|||||||
int allow_atcommand_when_mute; // [celest]
|
int allow_atcommand_when_mute; // [celest]
|
||||||
int finding_ore_rate; // orn
|
int finding_ore_rate; // orn
|
||||||
int exp_calc_type;
|
int exp_calc_type;
|
||||||
|
int double_login_system;
|
||||||
|
|
||||||
#ifndef TXT_ONLY /* SQL-only options */
|
#ifndef TXT_ONLY /* SQL-only options */
|
||||||
int mail_system; // [Valaris]
|
int mail_system; // [Valaris]
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
#define LIFETIME_FLOORITEM 60
|
#define LIFETIME_FLOORITEM 60
|
||||||
#define DAMAGELOG_SIZE 30
|
#define DAMAGELOG_SIZE 30
|
||||||
#define LOOTITEM_SIZE 10
|
#define LOOTITEM_SIZE 10
|
||||||
#define MAX_SKILL_LEVEL 10
|
#define MAX_SKILL_LEVEL 20
|
||||||
#define MAX_STATUSCHANGE 210
|
#define MAX_STATUSCHANGE 210
|
||||||
#define MAX_SKILLUNITGROUP 32
|
#define MAX_SKILLUNITGROUP 32
|
||||||
#define MAX_MOBSKILLUNITGROUP 8
|
#define MAX_MOBSKILLUNITGROUP 8
|
||||||
|
@ -2298,7 +2298,7 @@ int mob_damage(struct block_list *src,struct mob_data *md,int damage,int type)
|
|||||||
mobskill_use_id(md,&md->bl,skillidx);//Ž©”š‰r<E280B0>¥ŠJŽn
|
mobskill_use_id(md,&md->bl,skillidx);//Ž©”š‰r<E280B0>¥ŠJŽn
|
||||||
md->state.special_mob_ai++;
|
md->state.special_mob_ai++;
|
||||||
}
|
}
|
||||||
if (md->master_id==src->id)
|
if (src && md->master_id==src->id)
|
||||||
md->target_dir=map_calc_dir(src,md->bl.x,md->bl.y)+1;
|
md->target_dir=map_calc_dir(src,md->bl.x,md->bl.y)+1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
15
src/map/pc.c
15
src/map/pc.c
@ -720,8 +720,14 @@ int pc_authok(int id, int login_id2, time_t connect_until_time, struct mmo_chars
|
|||||||
sd = map_id2sd(id);
|
sd = map_id2sd(id);
|
||||||
nullpo_retr(1, sd);
|
nullpo_retr(1, sd);
|
||||||
|
|
||||||
|
// check if double login occured
|
||||||
|
if(sd->new_fd){
|
||||||
|
// 2重login状態だったので、両方落す
|
||||||
|
clif_authfail_fd(sd->fd,2); // same id
|
||||||
|
clif_authfail_fd(sd->new_fd,8); // same id
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
sd->login_id2 = login_id2;
|
sd->login_id2 = login_id2;
|
||||||
|
|
||||||
memcpy(&sd->status, st, sizeof(*st));
|
memcpy(&sd->status, st, sizeof(*st));
|
||||||
|
|
||||||
if (sd->status.sex != sd->sex) {
|
if (sd->status.sex != sd->sex) {
|
||||||
@ -945,6 +951,13 @@ int pc_authfail(int id) {
|
|||||||
if (sd == NULL)
|
if (sd == NULL)
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
|
if(sd->new_fd){
|
||||||
|
// 2重login状態だったので、新しい接続のみ落す
|
||||||
|
clif_authfail_fd(sd->new_fd,0);
|
||||||
|
sd->new_fd=0;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
clif_authfail_fd(sd->fd, 0);
|
clif_authfail_fd(sd->fd, 0);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user