summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-08-10 20:17:38 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-08-10 20:17:38 +0000
commit09fc9df0b6eb37a77641403eb7d7bc85f5899e0e (patch)
tree223e05e00e273ad5eadfb5d762d8d3ac60c1f90c /src
parentb2eab179f9d7a34e5e1027fd48007005e2b906f2 (diff)
downloadhercules-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.c5
-rw-r--r--src/char_sql/int_party.c5
-rw-r--r--src/map/status.c4
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))