| summaryrefslogtreecommitdiff | 
diff options
| author | nsensfel <SpamShield0@noot-noot.org> | 2017-11-28 13:38:04 +0100 | 
|---|---|---|
| committer | nsensfel <SpamShield0@noot-noot.org> | 2017-11-28 13:38:04 +0100 | 
| commit | 80358376b9300a0d73cb8b62dfa9fdd65240ca66 (patch) | |
| tree | 6eb82383ba1fdfb33c68dbe699bc2a4b68763d24 /src/character_instance.erl | |
| parent | 299a37b6d245dbb9806f4922cf492009775a8bf0 (diff) | |
Starting to work on attacks.
I find it difficult to keep the code tidy in Erlang...
Diffstat (limited to 'src/character_instance.erl')
| -rw-r--r-- | src/character_instance.erl | 17 | 
1 files changed, 17 insertions, 0 deletions
| 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}. | 


