Changed the logic for the healthy trait to make the trait more useful.

Now "Healthy" no longer bring a double resting bonus, but instead
means that the unit can still rest after a movement.
This commit is contained in:
Benoît Timbert 2007-06-14 00:34:53 +00:00
parent 9d8c51ba2e
commit ffc8a8e220
6 changed files with 8 additions and 7 deletions

View file

@ -13,6 +13,8 @@ Version 1.3.3+svn:
Spanish, Swedish
* units
* added a wolf "monster"
* healthy units now can rest even when they move instead of having a double
bonus.
* WML engine
* removed deprecated keys image_healing and image_halo_healing
* empty user_description now remains empty unless generate_description set

View file

@ -336,7 +336,7 @@ Dextrous is a trait possessed only by Elves. The Elven people are known for thei
[topic]
id=traits_healthy
title= _"Healthy"
text= _"Renowned for their vitality, some dwarves are sturdier than others and recover more quickly when resting."
text= _"Renowned for their vitality, some dwarves are sturdier than others and can rest even when travelling."
[/topic]

View file

@ -105,12 +105,12 @@
#enddef
#define TRAIT_HEALTHY
# Units with trait Healthy heal at 4HP per turn when resting and get 3 more HP.
# Units with trait Healthy get 3 more HP and can move and rest in the same turn.
[trait]
id=healthy
male_name= _ "healthy"
female_name= _ "female^healthy"
description= _ "Heals faster if resting"
description= _ "Can rest while moving"
[effect]
apply_to=hitpoints
increase_total=3

View file

@ -34,6 +34,8 @@ Version 1.3.3+svn:
* Unit changes and balancing
* Multiplayer
* healthy units now can rest even when they move instead of having a double
bonus.
* Miscellaneous and bugfixes

View file

@ -1477,9 +1477,6 @@ void calculate_healing(display& disp, const gamemap& map,
}
if(i->second.resting()) {
healing += game_config::rest_heal_amount;
if(i->second.is_healthy()) {
healing += game_config::rest_heal_amount;
}
}
}
if(is_poisoned) {

View file

@ -627,7 +627,7 @@ void unit::new_turn()
void unit::end_turn()
{
set_state("slowed","");
if((movement_ != total_movement()) && !utils::string_bool(get_state("not_moved"))) {
if((movement_ != total_movement()) && !utils::string_bool(get_state("not_moved")) && !is_healthy_) {
resting_ = false;
}
set_state("not_moved","");