瀏覽代碼

- Hopefully fixed family-party-even-share not breaking when a member logs out.
- Corrected Advanced Jobs HP bonus from 30% -> 25%


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8238 54d463be-8e91-2dee-dedb-b68131a5f0ec

skotlex 19 年之前
父節點
當前提交
6db2d44adb
共有 4 個文件被更改,包括 15 次插入2 次删除
  1. 3 0
      Changelog-Trunk.txt
  2. 5 0
      src/char/int_party.c
  3. 5 0
      src/char_sql/int_party.c
  4. 2 2
      src/map/status.c

+ 3 - 0
Changelog-Trunk.txt

@@ -4,6 +4,9 @@ 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/08/10
+	* Corrected Advanced Jobs HP bonus from 30% -> 25% [Skotlex]
+	* Hopefully fixed family-party-even-share not breaking when a member logs
+	  out. [Skotlex]
 	* Should have fixed the login-sql crash when passed user-name's length is
 	  beyond the limit. [Skotlex]
 	* Changed setting attack_attr_none to affect all neutral-element attacks.

+ 5 - 0
src/char/int_party.c

@@ -638,6 +638,11 @@ int mapif_parse_PartyChangeMap(int fd, int party_id, int account_id, int char_id
 				p->party.member[i].online = online;
 				if (online) p->party.count++;
 				else p->party.count--;
+				if (p->family && p->party.exp && !party_check_exp_share(p))
+			  	{	//Even-share lost.
+					p->party.exp = 0;
+					mapif_party_optionchanged(0, &p->party, 0, 0);
+				}
 			}
 			if (p->party.member[i].lv != lv) {
 				if(p->party.member[i].lv == p->min_lv ||

+ 5 - 0
src/char_sql/int_party.c

@@ -726,6 +726,11 @@ int mapif_parse_PartyChangeMap(int fd, int party_id, int account_id, int char_id
 				p->party.member[i].online = online;
 				if (online) p->party.count++;
 				else p->party.count--;
+				if (p->family && p->party.exp && !party_check_exp_share(p))
+			  	{	//Even-share lost.
+					p->party.exp = 0;
+					mapif_party_optionchanged(0, &p->party, 0, 0);
+				}
 			}
 			if (p->party.member[i].lv != lv) {
 				if(p->party.member[i].lv == p->min_lv ||

+ 2 - 2
src/map/status.c

@@ -1424,7 +1424,7 @@ static unsigned int status_base_pc_maxhp(struct map_session_data* sd, struct sta
 		+ hp_sigma_val[sd->status.class_][sd->status.base_level-1])/100
 		* (100 + status->vit)/100 + sd->param_equip[2];
 	if (sd->class_&JOBL_UPPER)
-		val += val * 30/100;
+		val += val * 25/100;
 	else if (sd->class_&JOBL_BABY)
 		val -= val * 30/100;
 	if ((sd->class_&MAPID_UPPERMASK) == MAPID_TAEKWON && sd->status.base_level >= 90 && pc_famerank(sd->char_id, MAPID_TAEKWON))
@@ -1441,7 +1441,7 @@ static unsigned int status_base_pc_maxsp(struct map_session_data* sd, struct sta
 	val = (1000 + sd->status.base_level*sp_coefficient[sd->status.class_])/100
 		* (100 + status->int_)/100 + sd->param_equip[3];
 	if (sd->class_&JOBL_UPPER)
-		val += val * 30/100;
+		val += val * 25/100;
 	else if (sd->class_&JOBL_BABY)
 		val -= val * 30/100;
 	if ((sd->class_&MAPID_UPPERMASK) == MAPID_TAEKWON && sd->status.base_level >= 90 && pc_famerank(sd->char_id, MAPID_TAEKWON))