summaryrefslogtreecommitdiff
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
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
-rw-r--r--Changelog-Trunk.txt4
-rw-r--r--src/map/party.c9
-rw-r--r--src/map/status.c6
3 files changed, 12 insertions, 7 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index 7ea683182..50f836594 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -4,6 +4,10 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2008/02/11
+ * '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. [Skotlex]
* Expanded the script command 'input': (bugreport:811) [FlavioJS]
- two new optional arguments 'min' and 'max'
- return value indicating if it's in the correct range
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: