summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-07-27 14:42:17 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-07-27 14:42:17 +0000
commitb3dae1ee6a703c8e42230d12b93929e48b75553f (patch)
tree82582277459e24395365ae5f61f944708cfe85bd /src
parentf19f87054c9666877ad925f9d95d40ff7dc6c15e (diff)
downloadhercules-b3dae1ee6a703c8e42230d12b93929e48b75553f.tar.gz
hercules-b3dae1ee6a703c8e42230d12b93929e48b75553f.tar.bz2
hercules-b3dae1ee6a703c8e42230d12b93929e48b75553f.tar.xz
hercules-b3dae1ee6a703c8e42230d12b93929e48b75553f.zip
- Added config setting "party_hp_mode" (battle/party.conf) which determines method to use to update party-mate hp bars. Aegis style is to update HP bars whenever HP changes, while eAthena style is to update it together with the map party dots. Defaults to aegis style.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7920 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src')
-rw-r--r--src/map/battle.c2
-rw-r--r--src/map/battle.h1
-rw-r--r--src/map/clif.c2
-rw-r--r--src/map/party.c3
4 files changed, 7 insertions, 1 deletions
diff --git a/src/map/battle.c b/src/map/battle.c
index 50bde0a58..f9a6a18c5 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -3516,6 +3516,7 @@ static const struct battle_data_short {
{ "mob_npc_warp", &battle_config.mob_npc_warp },
{ "dead_branch_active", &battle_config.dead_branch_active },
{ "show_steal_in_same_party", &battle_config.show_steal_in_same_party },
+ { "party_hp_mode", &battle_config.party_hp_mode },
{ "show_party_share_picker", &battle_config.party_show_share_picker },
{ "party_item_share_type", &battle_config.party_share_type },
{ "mob_ghostring_fix", &battle_config.mob_ghostring_fix },
@@ -3930,6 +3931,7 @@ void battle_set_defaults() {
battle_config.vending_max_value = 10000000;
battle_config.show_steal_in_same_party = 0;
battle_config.party_share_type = 0;
+ battle_config.party_hp_mode = 0;
battle_config.party_show_share_picker = 0;
battle_config.attack_attr_none = 0;
battle_config.mob_ghostring_fix = 1;
diff --git a/src/map/battle.h b/src/map/battle.h
index 6e665f10f..259ae26e1 100644
--- a/src/map/battle.h
+++ b/src/map/battle.h
@@ -274,6 +274,7 @@ extern struct Battle_Config {
unsigned int vending_max_value;
unsigned short show_steal_in_same_party;
unsigned short party_share_type;
+ unsigned short party_hp_mode;
unsigned short party_show_share_picker;
unsigned short mob_ghostring_fix;
unsigned short attack_attr_none;
diff --git a/src/map/clif.c b/src/map/clif.c
index eeb866c43..671609279 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -2679,6 +2679,8 @@ int clif_updatestatus(struct map_session_data *sd,int type)
WFIFOL(fd,4)=sd->battle_status.hp;
if (battle_config.disp_hpmeter)
clif_hpmeter(sd);
+ if (!battle_config.party_hp_mode && sd->status.party_id)
+ clif_party_hp(sd);
break;
case SP_SP:
WFIFOL(fd,4)=sd->battle_status.sp;
diff --git a/src/map/party.c b/src/map/party.c
index 490f5eb19..309995d9d 100644
--- a/src/map/party.c
+++ b/src/map/party.c
@@ -668,7 +668,8 @@ int party_send_xy_timer_sub(DBKey key,void *data,va_list ap)
p->data[i].x = sd->bl.x;
p->data[i].y = sd->bl.y;
}
- if (p->data[i].hp != sd->battle_status.hp)
+ if (battle_config.party_hp_mode &&
+ p->data[i].hp != sd->battle_status.hp)
{
clif_party_hp(sd);
p->data[i].hp = sd->battle_status.hp;