summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/map/battle.c6
-rw-r--r--src/map/irc.c8
2 files changed, 11 insertions, 3 deletions
diff --git a/src/map/battle.c b/src/map/battle.c
index 64cd00fdb..6b48bd8a3 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -2809,7 +2809,8 @@ struct Damage battle_calc_magic_attack(
short cardfix=100;
cardfix=cardfix*(100+sd->magic_addrace[t_race])/100;
- cardfix=cardfix*(100+sd->magic_addele[t_ele])/100;
+ if (flag.elefix)
+ cardfix=cardfix*(100+sd->magic_addele[t_ele])/100;
cardfix=cardfix*(100+sd->magic_addsize[t_size])/100;
cardfix=cardfix*(100+sd->magic_addrace[is_boss(target)?10:11])/100;
for(i=0;i<sd->add_mdmg_count;i++) {
@@ -2828,7 +2829,8 @@ struct Damage battle_calc_magic_attack(
short s_class= status_get_class(src);
short cardfix=100;
- cardfix=cardfix*(100-tsd->subele[s_ele])/100;
+ if (flag.elefix)
+ cardfix=cardfix*(100-tsd->subele[s_ele])/100;
cardfix=cardfix*(100-tsd->subsize[s_size])/100;
cardfix=cardfix*(100-tsd->subrace2[s_race2])/100;
cardfix=cardfix*(100-tsd->subrace[s_race])/100;
diff --git a/src/map/irc.c b/src/map/irc.c
index 276dcccb8..c61c5d890 100644
--- a/src/map/irc.c
+++ b/src/map/irc.c
@@ -135,6 +135,10 @@ int irc_parse(int fd)
{
if (session[fd]->eof){
do_close(fd);
+ if (irc_si) {
+ aFree(irc_si);
+ irc_si = NULL;
+ }
add_timer(gettick() + 15000, irc_connect_timer, 0, 0);
return 0;
}
@@ -143,8 +147,10 @@ int irc_parse(int fd)
irc_si->fd = fd;
irc_si->state = 0;
session[fd]->session_data = irc_si;
+ } else if (!irc_si) {
+ irc_si = (struct IRC_Session_Info*)session[fd]->session_data;
+ irc_si->fd = fd;
}
- irc_si = (struct IRC_Session_Info*)session[fd]->session_data;
if(RFIFOREST(fd) > 0){
char *incoming_string=aCalloc(RFIFOREST(fd),sizeof(char));
memcpy(incoming_string,RFIFOP(fd,0),RFIFOREST(fd));