diff options
author | gepard1984 <gepard1984@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-01-24 16:43:51 +0000 |
---|---|---|
committer | gepard1984 <gepard1984@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-01-24 16:43:51 +0000 |
commit | 84e37548b93c3364ee5c07c40d962ce15f7fef49 (patch) | |
tree | 0ef5158dd48980c411077fc98800dd680633ab21 | |
parent | 17a5ff052ebc90f7a7df0fb60f9364ef52a0209d (diff) | |
download | hercules-84e37548b93c3364ee5c07c40d962ce15f7fef49.tar.gz hercules-84e37548b93c3364ee5c07c40d962ce15f7fef49.tar.bz2 hercules-84e37548b93c3364ee5c07c40d962ce15f7fef49.tar.xz hercules-84e37548b93c3364ee5c07c40d962ce15f7fef49.zip |
Fixed Divest status changes not loading properly on login with `debuff_on_logout: 0` (bugreport:1331).
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15513 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r-- | src/map/status.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/map/status.c b/src/map/status.c index b2088ebe0..c2264717f 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -5600,7 +5600,7 @@ int status_change_start(struct block_list* bl,enum sc_type type,int rate,int val break; //Strip skills, need to divest something or it fails. case SC_STRIPWEAPON: - if (sd) { + if (sd && !(flag&4)) { //apply sc anyway if loading saved sc_data int i; opt_flag = 0; //Reuse to check success condition. if(sd->unstripable_equip&EQP_WEAPON) @@ -5627,7 +5627,7 @@ int status_change_start(struct block_list* bl,enum sc_type type,int rate,int val case SC_STRIPSHIELD: if( val2 == 1 ) val2 = 0; //GX effect. Do not take shield off.. else - if (sd) { + if (sd && !(flag&4)) { int i; if(sd->unstripable_equip&EQP_SHIELD) return 0; @@ -5640,7 +5640,7 @@ int status_change_start(struct block_list* bl,enum sc_type type,int rate,int val if (tick == 1) return 1; //Minimal duration: Only strip without causing the SC break; case SC_STRIPARMOR: - if (sd) { + if (sd && !(flag&4)) { int i; if(sd->unstripable_equip&EQP_ARMOR) return 0; @@ -5652,7 +5652,7 @@ int status_change_start(struct block_list* bl,enum sc_type type,int rate,int val if (tick == 1) return 1; //Minimal duration: Only strip without causing the SC break; case SC_STRIPHELM: - if (sd) { + if (sd && !(flag&4)) { int i; if(sd->unstripable_equip&EQP_HELM) return 0; |