From ea4d8114ce4aa030d224acdd00af66d0ee1a979d Mon Sep 17 00:00:00 2001 From: skotlex Date: Mon, 11 Feb 2008 13:11:15 +0000 Subject: - '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 --- src/map/party.c | 9 ++++++--- src/map/status.c | 6 ++---- 2 files changed, 8 insertions(+), 7 deletions(-) (limited to 'src') 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: -- cgit v1.2.3-70-g09d2