diff options
-rw-r--r-- | Changelog-Trunk.txt | 3 | ||||
-rw-r--r-- | src/char/int_party.c | 5 | ||||
-rw-r--r-- | src/char_sql/int_party.c | 5 | ||||
-rw-r--r-- | 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)) |