summaryrefslogtreecommitdiff
path: root/src/map
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2008-02-11 13:11:15 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2008-02-11 13:11:15 +0000
commitea4d8114ce4aa030d224acdd00af66d0ee1a979d (patch)
treea7cd9a82bee432937222bec025aa77fa9e7896da /src/map
parenta24b7ddbd3dcc44f9a158414340283b2aa25ff6d (diff)
downloadhercules-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/map')
-rw-r--r--src/map/party.c9
-rw-r--r--src/map/status.c6
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: