diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index 0eb5b24d4c..14b6e203bd 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -5,6 +5,9 @@ IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. EV GOES INTO TRUNK AND WILL BE MERGED INTO STABLE BY VALARIS AND WIZPUTER. -- VALARIS 2006/03/22 + * Some cleanups in irc.c [Skotlex] + * Magic skills that ignore element now also don't take into account + elemental cards. [Skotlex] * Fixed compiler warnings in battle.c [Lance] * Changes by [reddozen] --> - Updated Full Buster's damage, status effects, and skill levels diff --git a/db/Changelog.txt b/db/Changelog.txt index 9d8fdadae8..882ef7424b 100644 --- a/db/Changelog.txt +++ b/db/Changelog.txt @@ -27,6 +27,7 @@ ========================= 03/22 + * Changed Soul Breaker's cast time to 700ms. [Skotlex] * Updated Elemental Converter ingredients. Thanks2 Haplo [Lupus] 03/21 * Fixed the inf2 for BA_DISSONANCE to be dance-skill. [Skotlex] diff --git a/db/skill_cast_db.txt b/db/skill_cast_db.txt index bbb65d195e..0e7d1255c6 100644 --- a/db/skill_cast_db.txt +++ b/db/skill_cast_db.txt @@ -581,7 +581,7 @@ //-- ASC_EDP 378,0,2000,0,20000:30000:40000:50000:60000,20000:30000:40000:50000:60000 //-- ASC_BREAKER -379,1000,1000:1200:1400:1600:1800:2000:2200:2400:2600:2800,0,0,0 +379,700,1000:1200:1400:1600:1800:2000:2200:2400:2600:2800,0,0,0 //========================================== diff --git a/src/map/battle.c b/src/map/battle.c index 64cd00fdb3..6b48bd8a38 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;iadd_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 276dcccb8b..c61c5d890b 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));