diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2008-02-11 13:11:15 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2008-02-11 13:11:15 +0000 |
commit | ea4d8114ce4aa030d224acdd00af66d0ee1a979d (patch) | |
tree | a7cd9a82bee432937222bec025aa77fa9e7896da /src | |
parent | a24b7ddbd3dcc44f9a158414340283b2aa25ff6d (diff) | |
download | hercules-ea4d8114ce4aa030d224acdd00af66d0ee1a979d.tar.gz hercules-ea4d8114ce4aa030d224acdd00af66d0ee1a979d.tar.bz2 hercules-ea4d8114ce4aa030d224acdd00af66d0ee1a979d.tar.xz hercules-ea4d8114ce4aa030d224acdd00af66d0ee1a979d.zip |
- 'Forget me Not' no longer blocks ASPD bonuses from working or prevents their re-casting, they are simply dispelled when the effect takes place.
- Fixed a possible crash when a player logs out before their create-party request is accepted.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12193 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src')
-rw-r--r-- | src/map/party.c | 9 | ||||
-rw-r--r-- | src/map/status.c | 6 |
2 files changed, 8 insertions, 7 deletions
diff --git a/src/map/party.c b/src/map/party.c index c6bfb2224..47648b889 100644 --- a/src/map/party.c +++ b/src/map/party.c @@ -108,9 +108,12 @@ int party_created(int account_id,int char_id,int fail,int party_id,char *name) struct party_data *p; sd=map_id2sd(account_id); - nullpo_retr(0, sd); - if (sd->status.char_id != char_id) - return 0; //unlikely failure... + if (!sd || sd->status.char_id != char_id) + { //Character logged off before creation ack? + if (!fail) //break up party since player could not be added to it. + intif_party_leave(party_id,account_id,char_id); + return 0; + } if(fail){ clif_party_created(sd,1); diff --git a/src/map/status.c b/src/map/status.c index 7e6585085..015ce1ddf 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -3775,7 +3775,7 @@ static short status_calc_aspd_rate(struct block_list *bl, struct status_change * if(!sc || !sc->count) return cap_value(aspd_rate,0,SHRT_MAX); - if(!sc->data[SC_QUAGMIRE] && !sc->data[SC_DONTFORGETME]) + if(!sc->data[SC_QUAGMIRE]) { int max = 0; if(sc->data[SC_STAR_COMFORT]) @@ -4659,7 +4659,6 @@ int status_change_start(struct block_list* bl,enum sc_type type,int rate,int val if(sd && !pc_check_weapontype(sd,skill_get_weapontype(BS_ADRENALINE))) return 0; if (sc->data[SC_QUAGMIRE] || - sc->data[SC_DONTFORGETME] || sc->data[SC_DECREASEAGI] ) return 0; @@ -4668,7 +4667,6 @@ int status_change_start(struct block_list* bl,enum sc_type type,int rate,int val if(sd && !pc_check_weapontype(sd,skill_get_weapontype(BS_ADRENALINE2))) return 0; if (sc->data[SC_QUAGMIRE] || - sc->data[SC_DONTFORGETME] || sc->data[SC_DECREASEAGI] ) return 0; @@ -4684,7 +4682,7 @@ int status_change_start(struct block_list* bl,enum sc_type type,int rate,int val case SC_WINDWALK: case SC_CARTBOOST: case SC_ASSNCROS: - if (sc->data[SC_QUAGMIRE] || sc->data[SC_DONTFORGETME]) + if (sc->data[SC_QUAGMIRE]) return 0; break; case SC_CLOAKING: |