From 80358376b9300a0d73cb8b62dfa9fdd65240ca66 Mon Sep 17 00:00:00 2001 From: nsensfel Date: Tue, 28 Nov 2017 13:38:04 +0100 Subject: Starting to work on attacks. I find it difficult to keep the code tidy in Erlang... --- src/character_instance.erl | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/character_instance.erl') diff --git a/src/character_instance.erl b/src/character_instance.erl index a38be5d..e1cf7fe 100644 --- a/src/character_instance.erl +++ b/src/character_instance.erl @@ -3,6 +3,8 @@ ( [ set_location/3, + mod_health/3, + is_dead/1, % is_alive is reserved. get_location/1, get_owner/1 ] @@ -17,6 +19,21 @@ set_location (CharInst, X, Y) -> y = Y }. +mod_health (CharInst, MaxHealth, HealthMod) -> + NewHealth = (CharInst#character_instance.health + HealthMod), + if + (NewHealth < 0) -> + CharInst#character_instance{ health = 0 }; + + (NewHealth > MaxHealth) -> + CharInst#character_instance{ health = MaxHealth }; + + true -> + CharInst#character_instance{ health = NewHealth } + end. + +is_dead (CharInst) -> (CharInst#character_instance.health == 0). + get_location (CharInst) -> {CharInst#character_instance.x, CharInst#character_instance.y}. -- cgit v1.2.3-70-g09d2