diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-11-17 21:20:58 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-11-17 21:20:58 +0000 |
commit | 08957511cfd1eef7cdfdc62bd8bf4162e254c774 (patch) | |
tree | 7a4d29c5a45bc06de1473b1657faf9675766fe54 | |
parent | a221e97dba785931319d726d3cb0215d2e1bcf79 (diff) | |
download | hercules-08957511cfd1eef7cdfdc62bd8bf4162e254c774.tar.gz hercules-08957511cfd1eef7cdfdc62bd8bf4162e254c774.tar.bz2 hercules-08957511cfd1eef7cdfdc62bd8bf4162e254c774.tar.xz hercules-08957511cfd1eef7cdfdc62bd8bf4162e254c774.zip |
- Corrected use of the party invitation reply packet, thanks to FlavioJS.
- Removed requirement of "Changelog-Trunk" in the common/Makefile, why was it even there??
- Minor cleanups
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9251 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r-- | Changelog-Trunk.txt | 2 | ||||
-rw-r--r-- | src/common/Makefile | 2 | ||||
-rw-r--r-- | src/map/clif.c | 7 | ||||
-rw-r--r-- | src/map/party.c | 13 | ||||
-rw-r--r-- | src/map/pc.c | 2 | ||||
-rw-r--r-- | src/map/skill.c | 8 |
6 files changed, 22 insertions, 12 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index ab0b9b5b3..ba8a2439c 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -4,6 +4,8 @@ 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.
2006/11/17
+ * Corrected use of the party invitation reply packet, thanks to FlavioJS.
+ [Skotlex]
* Fixed potential hack by modifying packet of whispers. [Lance]
* Fixed potential crash in IRC processing message with '%' using *printf. [Lance]
* Fixed memory leaking caused by homun_data not freed when removed. [Lance]
diff --git a/src/common/Makefile b/src/common/Makefile index a6af2a594..2c929b52b 100644 --- a/src/common/Makefile +++ b/src/common/Makefile @@ -26,7 +26,7 @@ clean: HAVESVN = $(shell which svnversion)
ifeq ($(findstring /,$(HAVESVN)), /)
-svnversion.h: ../../Changelog-Trunk.txt
+svnversion.h:
@printf "#define SVNVERSION " > svnversion.h
@svnversion . >> svnversion.h
else
diff --git a/src/map/clif.c b/src/map/clif.c index 9ef8c7b94..8acf784d5 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -5965,7 +5965,12 @@ int clif_party_invite(struct map_session_data *sd,struct map_session_data *tsd) }
/*==========================================
- * パーティ勧誘結果
+ * Party invitation result. Flag values are:
+ * 0 -> char is already in a party
+ * 1 -> party invite was rejected
+ * 2 -> party invite was accepted
+ * 3 -> party is full
+ * 4 -> char of the same account already joined the party
*------------------------------------------
*/
int clif_party_inviteack(struct map_session_data *sd,char *nick,int flag)
diff --git a/src/map/party.c b/src/map/party.c index ab86797f2..6c97bd464 100644 --- a/src/map/party.c +++ b/src/map/party.c @@ -277,14 +277,17 @@ int party_invite(struct map_session_data *sd,struct map_session_data *tsd) for(i=0;i<MAX_PARTY;i++){
if(p->party.member[i].account_id == 0) //Room for a new member.
flag = 1;
- if(p->party.member[i].account_id==tsd->status.account_id &&
- p->party.member[i].char_id==tsd->status.char_id){
- clif_party_inviteack(sd,tsd->status.name,0);
+ /* By default Aegis BLOCKS more than one char from the same account on a party.
+ * But eA does support it... so this check is left commented.
+ if(p->party.member[i].account_id==tsd->status.account_id)
+ {
+ clif_party_inviteack(sd,tsd->status.name,4);
return 0;
}
+ */
}
if (!flag) { //Full party.
- clif_party_inviteack(sd,tsd->status.name,2);
+ clif_party_inviteack(sd,tsd->status.name,3);
return 0;
}
@@ -348,7 +351,7 @@ int party_member_added(int party_id,int account_id,int char_id, int flag) sd2=map_id2sd(sd->party_invite_account);
if (sd2)
- clif_party_inviteack(sd2,sd->status.name,flag?2:0);
+ clif_party_inviteack(sd2,sd->status.name,flag?2:1);
return 0;
}
diff --git a/src/map/pc.c b/src/map/pc.c index 9436444f2..e28c1859d 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -3222,8 +3222,8 @@ int pc_steal_item(struct map_session_data *sd,struct block_list *bl, int lv) if(rand() % 10000 >= md->db->dropitem[i].p*rate/100) return 0; - malloc_set(&tmp_item,0,sizeof(tmp_item)); itemid = md->db->dropitem[i].nameid; + malloc_set(&tmp_item,0,sizeof(tmp_item)); tmp_item.nameid = itemid; tmp_item.amount = 1; tmp_item.identify = itemdb_isidentified(itemid); diff --git a/src/map/skill.c b/src/map/skill.c index 4b077fb1a..a85737c6c 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -8344,6 +8344,10 @@ int skill_check_condition (struct map_session_data *sd, int skill, int lv, int t } zeny = 0; //Zeny is reduced on skill_attack. break; + case PF_HPCONVERSION: + if (status->sp == status->max_sp) + return 0; //Unusable when at full SP. + break; case AM_CALLHOMUN: //Can't summon if a hom is already out if (sd->status.hom_id && sd->hd && !sd->hd->homunculus.vaporize) { clif_skill_fail(sd,skill,0,0); @@ -8366,10 +8370,6 @@ int skill_check_condition (struct map_session_data *sd, int skill, int lv, int t return 0; } break; - case PF_HPCONVERSION: - if (status->sp == status->max_sp) - return 0; //Unusable when at full SP. - break; } if(!(type&2)){ |