summaryrefslogtreecommitdiff
path: root/src/map/skill.c
diff options
context:
space:
mode:
authorFate <fate-tmw@googlemail.com>2009-06-16 15:46:00 +0000
committerFate <fate-tmw@googlemail.com>2009-06-16 15:46:00 +0000
commitc8c6e7b34cb983054ddc5ed73f5239d6b728af11 (patch)
tree299ad4a17f4698fcf84353569c0724e6394c758f /src/map/skill.c
parent62e46b2c2394ba222d90227ee581ed877a4582c0 (diff)
downloadtmwa-c8c6e7b34cb983054ddc5ed73f5239d6b728af11.tar.gz
tmwa-c8c6e7b34cb983054ddc5ed73f5239d6b728af11.tar.bz2
tmwa-c8c6e7b34cb983054ddc5ed73f5239d6b728af11.tar.xz
tmwa-c8c6e7b34cb983054ddc5ed73f5239d6b728af11.zip
Removed unnecessary am-healing flag, incorporated healing packets with regular opt status flags. This, together with the clientdata update, should fix the stuck healing state.
Diffstat (limited to 'src/map/skill.c')
-rw-r--r--src/map/skill.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index ea7beb3..3a1dbf6 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -7790,6 +7790,31 @@ int skill_status_change_end(struct block_list* bl, int type, int tid)
return 0;
}
+
+
+int
+skill_update_heal_animation(struct map_session_data *sd)
+{
+ const int mask = 0x100;
+ int was_active;
+ int is_active;
+
+ nullpo_retr (0, sd);
+ was_active = sd->opt2 & mask;
+ is_active = sd->quick_regeneration_hp.amount > 0;
+
+ if ((was_active && is_active)
+ || (!was_active && !is_active))
+ return 0; // no update
+
+ if (is_active)
+ sd->opt2 |= mask;
+ else
+ sd->opt2 &= ~mask;
+
+ return clif_changeoption(&sd->bl);
+}
+
/*==========================================
* ステータス異常終了タイマー
*------------------------------------------