From 3e87e8e3153ec82d1c3c2cea32dd910323949455 Mon Sep 17 00:00:00 2001 From: skotlex Date: Tue, 9 May 2006 19:28:58 +0000 Subject: - Fix on pc_skill which fixes overlapping when one gets more than one bonus for the same skill. - Updated main.sql's loginlog table structure. - Added svn_update6533.sql to update the loginlog structure as suggested by theultramage. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6533 54d463be-8e91-2dee-dedb-b68131a5f0ec --- Changelog-Trunk.txt | 5 +++++ sql-files/main.sql | 3 ++- sql-files/upgrade_svn6533.sql | 2 ++ src/map/pc.c | 7 ++++--- src/map/skill.c | 2 +- 5 files changed, 14 insertions(+), 5 deletions(-) create mode 100644 sql-files/upgrade_svn6533.sql diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index aaceac826..d231d1e5f 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -4,6 +4,11 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. 2006/05/09 + * Fix on pc_skill which fixes overlapping when one gets more than one bonus + for the same skill. [Skotlex] + * Updated main.sql's loginlog table structure. [Skotlex] + * Added svn_update6533.sql to update the loginlog structure as suggested by + theultramage. [Skotlex] * Cleaned up somewhat the implementation of BladeStop. [Skotlex] * Fixed the head_bottom (pet-armor) position in packet 0x22c (walk packet) when crafted for non-players. [Skotlex] diff --git a/sql-files/main.sql b/sql-files/main.sql index f60f36594..718f811e9 100644 --- a/sql-files/main.sql +++ b/sql-files/main.sql @@ -407,10 +407,11 @@ CREATE TABLE `sc_data` ( DROP TABLE IF EXISTS `loginlog`; CREATE TABLE `loginlog` ( `time` datetime NOT NULL default '0000-00-00 00:00:00', - `ip` varchar(64) NOT NULL default '', + `ip` char(15) NOT NULL default '', `user` varchar(32) NOT NULL default '', `rcode` tinyint(4) NOT NULL default '0', `log` varchar(255) NOT NULL default '' + KEY (`ip`), ) TYPE=MyISAM; -- diff --git a/sql-files/upgrade_svn6533.sql b/sql-files/upgrade_svn6533.sql new file mode 100644 index 000000000..5dffe0293 --- /dev/null +++ b/sql-files/upgrade_svn6533.sql @@ -0,0 +1,2 @@ +ALTER TABLE `loginlog` CHANGE `ip` `ip` CHAR( 15 ) NOT NULL +ALTER TABLE `loginlog` ADD INDEX ( `ip` ( 15 ) ) diff --git a/src/map/pc.c b/src/map/pc.c index 4657d3bcf..c3da30b6a 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -2158,9 +2158,10 @@ int pc_skill(struct map_session_data *sd,int id,int level,int flag) clif_skillinfoblock(sd); } else if(sd->status.skill[id].lv < level){ // ?えられるがlvが小さいなら - if(sd->status.skill[id].id==id) - sd->status.skill[id].flag=sd->status.skill[id].lv+2; // lvを記憶 - else { + if(sd->status.skill[id].id==id) { + if (!sd->status.skill[id].flag) //Non-granted skill, store it's level. + sd->status.skill[id].flag=sd->status.skill[id].lv+2; + } else { sd->status.skill[id].id=id; sd->status.skill[id].flag=1; // cardスキルとする } diff --git a/src/map/skill.c b/src/map/skill.c index ec421d1c5..409cbcb4c 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -4087,7 +4087,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in dstsd->char_id == sd->status.partner_id || dstsd->char_id == sd->status.child )) { - status_change_start(src,SC_STUN,10000,skilllv,0,0,0,3000,8); + status_change_start(src,SC_STUN,10000,skilllv,0,0,0,500,8); clif_skill_fail(sd,skillid,0,0); break; } -- cgit v1.2.3-70-g09d2