diff options
author | Inkfish <Inkfish@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2009-06-15 15:29:32 +0000 |
---|---|---|
committer | Inkfish <Inkfish@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2009-06-15 15:29:32 +0000 |
commit | c2d8bd8f8617e0a6d33933efdb3f4d996483946c (patch) | |
tree | 788cd1c47e8344b100396a1312f23659e3c8b2b9 /src | |
parent | 00be89f64050ff5373a63cc599f533f57ffaead1 (diff) | |
download | hercules-c2d8bd8f8617e0a6d33933efdb3f4d996483946c.tar.gz hercules-c2d8bd8f8617e0a6d33933efdb3f4d996483946c.tar.bz2 hercules-c2d8bd8f8617e0a6d33933efdb3f4d996483946c.tar.xz hercules-c2d8bd8f8617e0a6d33933efdb3f4d996483946c.zip |
* Skill through items will not be blocked when 90% overweight. (bugreport:3246)
* Now you can drop items when hiding.
* Now you can't logout when hiding, cloaking or chase walking.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13892 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src')
-rw-r--r-- | src/map/clif.c | 10 | ||||
-rw-r--r-- | src/map/skill.c | 23 |
2 files changed, 17 insertions, 16 deletions
diff --git a/src/map/clif.c b/src/map/clif.c index f0062517f..ddb0fcca8 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -8303,9 +8303,9 @@ void clif_parse_QuitGame(int fd, struct map_session_data *sd) WFIFOW(fd,0) = 0x18b; /* Rovert's prevent logout option fixed [Valaris] */ - if (!sd->sc.data[SC_CLOAKING] && !sd->sc.data[SC_HIDING] && - (!battle_config.prevent_logout || DIFF_TICK(gettick(), sd->canlog_tick) > battle_config.prevent_logout) - ) { + if( !sd->sc.data[SC_CLOAKING] && !sd->sc.data[SC_HIDING] && !sd->sc.data[SC_CHASEWALK] && + (!battle_config.prevent_logout || DIFF_TICK(gettick(), sd->canlog_tick) > battle_config.prevent_logout) ) + { set_eof(fd); WFIFOW(fd,2)=0; } else { @@ -8648,7 +8648,8 @@ void clif_parse_Restart(int fd, struct map_session_data *sd) break; case 0x01: /* Rovert's Prevent logout option - Fixed [Valaris] */ - if (!battle_config.prevent_logout || DIFF_TICK(gettick(), sd->canlog_tick) > battle_config.prevent_logout) + if( !sd->sc.data[SC_CLOAKING] && !sd->sc.data[SC_HIDING] && !sd->sc.data[SC_CHASEWALK] && + (!battle_config.prevent_logout || DIFF_TICK(gettick(), sd->canlog_tick) > battle_config.prevent_logout) ) { //Send to char-server for character selection. chrif_charselectreq(sd, session[fd]->client_addr); } else { @@ -8901,7 +8902,6 @@ void clif_parse_DropItem(int fd, struct map_session_data *sd) break; if (sd->sc.count && ( - sd->sc.data[SC_HIDING] || sd->sc.data[SC_AUTOCOUNTER] || sd->sc.data[SC_BLADESTOP] || (sd->sc.data[SC_NOCHAT] && sd->sc.data[SC_NOCHAT]->val1&MANNER_NOITEM) diff --git a/src/map/skill.c b/src/map/skill.c index a2b337e6a..e2bbe6707 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -8114,11 +8114,6 @@ int skill_check_condition_castbegin(struct map_session_data* sd, short skill, sh return 1; } - if(pc_is90overweight(sd)) { - clif_skill_fail(sd,skill,9,0); - return 0; - } - if( sd->menuskill_id == AM_PHARMACY ) { switch( skill ) @@ -8164,6 +8159,12 @@ int skill_check_condition_castbegin(struct map_session_data* sd, short skill, sh return 1; } + if( pc_is90overweight(sd) ) + { + clif_skill_fail(sd,skill,9,0); + return 0; + } + switch( skill ) { // Turn off check. case BS_MAXIMIZE: case NV_TRICKDEAD: case TF_HIDING: case AS_CLOAKING: case CR_AUTOGUARD: @@ -8600,12 +8601,6 @@ int skill_check_condition_castend(struct map_session_data* sd, short skill, shor return 1; } - if( pc_is90overweight(sd) ) - { - clif_skill_fail(sd,skill,9,0); - return 0; - } - if( sd->menuskill_id == AM_PHARMACY ) { // Cast start or cast end?? switch( skill ) @@ -8623,6 +8618,12 @@ int skill_check_condition_castend(struct map_session_data* sd, short skill, shor if( sd->skillitem == skill ) // Casting finished (Item skill or Hocus-Pocus) return 1; + if( pc_is90overweight(sd) ) + { + clif_skill_fail(sd,skill,9,0); + return 0; + } + // perform skill-specific checks (and actions) switch( skill ) { |