diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-08-10 20:17:38 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-08-10 20:17:38 +0000 |
commit | 09fc9df0b6eb37a77641403eb7d7bc85f5899e0e (patch) | |
tree | 223e05e00e273ad5eadfb5d762d8d3ac60c1f90c /src | |
parent | b2eab179f9d7a34e5e1027fd48007005e2b906f2 (diff) | |
download | hercules-09fc9df0b6eb37a77641403eb7d7bc85f5899e0e.tar.gz hercules-09fc9df0b6eb37a77641403eb7d7bc85f5899e0e.tar.bz2 hercules-09fc9df0b6eb37a77641403eb7d7bc85f5899e0e.tar.xz hercules-09fc9df0b6eb37a77641403eb7d7bc85f5899e0e.zip |
- 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
Diffstat (limited to 'src')
-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 |
3 files changed, 12 insertions, 2 deletions
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)) |