summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-07-03 19:59:48 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-07-03 19:59:48 +0000
commitbb0a08a67c73be469c130567ec9e6c5b8a4a2963 (patch)
treedce696635219fd87cdc01fe6a04718a55b217f0f /src
parent695aa3dbc9810b7ad25f2eb4e1c3eb92ba6926f3 (diff)
downloadhercules-bb0a08a67c73be469c130567ec9e6c5b8a4a2963.tar.gz
hercules-bb0a08a67c73be469c130567ec9e6c5b8a4a2963.tar.bz2
hercules-bb0a08a67c73be469c130567ec9e6c5b8a4a2963.tar.xz
hercules-bb0a08a67c73be469c130567ec9e6c5b8a4a2963.zip
- Char-server SQL won't perform the reconnect cleanup routines when kick_on_disconnect is disabled.
- Renamed summons_inherit_effects to summons_trigger_autospells as the setting now only makes the attacks of the slaves trigger the autospells of the master (as it should be). - Corrected code capping no_spawn_on_player to 50 when the max should be 100. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7459 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src')
-rw-r--r--src/char/char.c4
-rw-r--r--src/char_sql/char.c3
-rw-r--r--src/login/login.c2
-rw-r--r--src/map/battle.c8
-rw-r--r--src/map/battle.h2
-rw-r--r--src/map/map.c5
-rw-r--r--src/map/map.h1
-rw-r--r--src/map/skill.c11
8 files changed, 16 insertions, 20 deletions
diff --git a/src/char/char.c b/src/char/char.c
index 491e24f4e..8d51e6867 100644
--- a/src/char/char.c
+++ b/src/char/char.c
@@ -7,7 +7,7 @@
#include <winsock.h>
#else
#include <sys/socket.h>
-#include <netinet/in.h>
+#include <netinet/in.h>
#include <arpa/inet.h>
#endif
@@ -3846,7 +3846,7 @@ int check_connect_login_server(int tid, unsigned int tick, int id, int data) {
}
session[login_fd]->func_parse = parse_tologin;
realloc_fifo(login_fd, FIFOSIZE_SERVERLINK, FIFOSIZE_SERVERLINK);
- WFIFOHEAD(login_fd, 86);
+ WFIFOHEAD(login_fd, 86);
WFIFOW(login_fd,0) = 0x2710;
memcpy(WFIFOP(login_fd,2), userid, 24);
memcpy(WFIFOP(login_fd,26), passwd, 24);
diff --git a/src/char_sql/char.c b/src/char_sql/char.c
index 91ded9909..39747dea0 100644
--- a/src/char_sql/char.c
+++ b/src/char_sql/char.c
@@ -3767,6 +3767,9 @@ int check_connect_login_server(int tid, unsigned int tick, int id, int data) {
WFIFOSET(login_fd,86);
+ if (!kick_on_disconnect)
+ return 0; //Do not perform on-connect cleanup duties.
+
//(re)connected to login-server,
//now wi'll look in sql which player's are ON and set them OFF
//AND send to all mapservers (if we have one / ..) to kick the players
diff --git a/src/login/login.c b/src/login/login.c
index a617c79d9..cf66d10ed 100644
--- a/src/login/login.c
+++ b/src/login/login.c
@@ -3789,7 +3789,6 @@ int login_config_read(const char *cfgName) {
} else if(strcmpi(w1,"ip_sync_interval")==0) {
ip_sync_interval = 1000*60*atoi(w2); //w2 comes in minutes.
}
-
}
}
fclose(fp);
@@ -4166,7 +4165,6 @@ int do_init(int argc, char **argv) {
add_timer_func_list(online_data_cleanup, "online_data_cleanup");
add_timer_interval(gettick() + 600*1000, online_data_cleanup, 0, 0, 600*1000); // every 10 minutes cleanup online account db.
-
if (ip_sync_interval) {
add_timer_func_list(sync_ip_addresses, "sync_ip_addresses");
diff --git a/src/map/battle.c b/src/map/battle.c
index f8f0a56d1..c4a5b29fb 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -3352,7 +3352,7 @@ static const struct battle_data_short {
{ "boss_spawn_delay", &battle_config.boss_spawn_delay },
{ "slaves_inherit_mode", &battle_config.slaves_inherit_mode },
{ "slaves_inherit_speed", &battle_config.slaves_inherit_speed },
- { "summons_inherit_effects", &battle_config.summons_inherit_effects },
+ { "summons_trigger_autospells", &battle_config.summons_trigger_autospells },
{ "pc_damage_walk_delay_rate", &battle_config.pc_walk_delay_rate },
{ "damage_walk_delay_rate", &battle_config.walk_delay_rate },
{ "multihit_delay", &battle_config.multihit_delay },
@@ -3749,7 +3749,7 @@ void battle_set_defaults() {
battle_config.boss_spawn_delay=100;
battle_config.slaves_inherit_mode=1;
battle_config.slaves_inherit_speed=1;
- battle_config.summons_inherit_effects=1;
+ battle_config.summons_trigger_autospells=1;
battle_config.pc_walk_delay_rate=20;
battle_config.walk_delay_rate=100;
battle_config.multihit_delay=80;
@@ -4198,8 +4198,8 @@ void battle_validate_conf() {
if (battle_config.plant_spawn_delay < 0)
battle_config.plant_spawn_delay = 0;
*/
- if (battle_config.no_spawn_on_player > 50)
- battle_config.no_spawn_on_player = 50;
+ if (battle_config.no_spawn_on_player > 100)
+ battle_config.no_spawn_on_player = 100;
if (battle_config.mob_remove_delay < 15000) //Min 15 sec
battle_config.mob_remove_delay = 15000;
if (battle_config.dynamic_mobs > 1)
diff --git a/src/map/battle.h b/src/map/battle.h
index 6f59f2204..a2a9a2943 100644
--- a/src/map/battle.h
+++ b/src/map/battle.h
@@ -157,7 +157,7 @@ extern struct Battle_Config {
unsigned short mob_spawn_delay, plant_spawn_delay, boss_spawn_delay; // [Skotlex]
unsigned short slaves_inherit_mode;
unsigned short slaves_inherit_speed;
- unsigned short summons_inherit_effects;
+ unsigned short summons_trigger_autospells;
unsigned short pc_walk_delay_rate; //Adjusts can't walk delay after being hit for players. [Skotlex]
unsigned short walk_delay_rate; //Adjusts can't walk delay after being hit. [Skotlex]
unsigned short multihit_delay; //Adjusts can't walk delay per hit on multi-hitting skills. [Skotlex]
diff --git a/src/map/map.c b/src/map/map.c
index c43ed5ca2..a93b03257 100644
--- a/src/map/map.c
+++ b/src/map/map.c
@@ -3124,12 +3124,7 @@ int map_readallmaps (void)
size = map[i].bxs * map[i].bys * sizeof(int);
map[i].block_count = (int*)aCallocA(size, 1);
- // Already initialized in aCallocA
- //memset(map[i].block_count, 0, size);
-
map[i].block_mob_count = (int*)aCallocA(size, 1);
- // Already initialized in aCallocA
- //memset(map[i].block_mob_count, 0, size);
uidb_put(map_db, (unsigned int)map[i].index, &map[i]);
diff --git a/src/map/map.h b/src/map/map.h
index 9d8a6f254..02e4d15fa 100644
--- a/src/map/map.h
+++ b/src/map/map.h
@@ -255,7 +255,6 @@ enum {
MAX_ITEMGROUP,
} item_group_list;
-
struct block_list {
struct block_list *next,*prev;
int id;
diff --git a/src/map/skill.c b/src/map/skill.c
index aee4fb99f..a5b270329 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -1324,11 +1324,6 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int
break;
}
- if (md && battle_config.summons_inherit_effects && md->master_id && md->special_state.ai)
- { //Pass heritage to Master for status causing effects. [Skotlex]
- sd = map_id2sd(md->master_id);
- }
-
if(sd && skillid != MC_CARTREVOLUTION && skillid != AM_DEMONSTRATION && skillid != CR_REFLECTSHIELD && attack_type&BF_WEAPON){ /* カードによる追加効果 */
int i, type;
for(i=SC_COMMON_MIN;i<=SC_COMMON_MAX;i++){
@@ -1340,6 +1335,12 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int
}
}
+ if (md && battle_config.summons_trigger_autospells && md->master_id && md->special_state.ai)
+ { //Pass heritage to Master for status causing effects. [Skotlex]
+ sd = map_id2sd(md->master_id);
+ src = sd?&sd->bl:src;
+ }
+
//Reports say that autospell effects get triggered on skills and pretty much everything including splash attacks. [Skotlex]
if(sd && !status_isdead(bl) && src != bl &&
!(skillid && skill_get_nk(skillid)&NK_NO_DAMAGE)) {