From 09fc9df0b6eb37a77641403eb7d7bc85f5899e0e Mon Sep 17 00:00:00 2001 From: skotlex Date: Thu, 10 Aug 2006 20:17:38 +0000 Subject: - 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8238 54d463be-8e91-2dee-dedb-b68131a5f0ec --- Changelog-Trunk.txt | 3 +++ src/char/int_party.c | 5 +++++ src/char_sql/int_party.c | 5 +++++ src/map/status.c | 4 ++-- 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index c6f3e555a..1438d349f 100644 --- a/Changelog-Trunk.txt +++ b/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. diff --git a/src/char/int_party.c b/src/char/int_party.c index 5d9ab9123..62fc1ca7f 100644 --- a/src/char/int_party.c +++ b/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 || diff --git a/src/char_sql/int_party.c b/src/char_sql/int_party.c index 79fb57a95..115c59cd2 100644 --- a/src/char_sql/int_party.c +++ b/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 || diff --git a/src/map/status.c b/src/map/status.c index 48560f17c..726691383 100644 --- a/src/map/status.c +++ b/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)) -- cgit v1.2.3-70-g09d2