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 /src/map | |
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
Diffstat (limited to 'src/map')
-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 |
4 files changed, 19 insertions, 11 deletions
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)){ |