From b3dae1ee6a703c8e42230d12b93929e48b75553f Mon Sep 17 00:00:00 2001 From: skotlex Date: Thu, 27 Jul 2006 14:42:17 +0000 Subject: - 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 --- src/map/battle.c | 2 ++ src/map/battle.h | 1 + src/map/clif.c | 2 ++ src/map/party.c | 3 ++- 4 files changed, 7 insertions(+), 1 deletion(-) (limited to 'src/map') 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; -- cgit v1.2.3-70-g09d2