mirror of
https://github.com/wesnoth/wesnoth
synced 2025-05-19 12:59:10 +00:00
Simplified code by changing access to number of turns from relative to absolute.
This commit is contained in:
parent
20e6cf420e
commit
ccb8eadb3f
@ -966,8 +966,7 @@ WML_HANDLER_FUNCTION(modify_turns, /*event_info*/, cfg)
|
||||
if(!add.empty()) {
|
||||
tod_man.modify_turns(add);
|
||||
} else if(!value.empty()) {
|
||||
tod_man.add_turns(-tod_man.number_of_turns());
|
||||
tod_man.add_turns(lexical_cast_default<int>(value,-1));
|
||||
tod_man.set_number_of_turns(lexical_cast_default<int>(value,-1));
|
||||
}
|
||||
// change current turn only after applying mods
|
||||
if(!current.empty()) {
|
||||
|
@ -3299,8 +3299,7 @@ void console_handler::do_turn_limit()
|
||||
tod_manager& tod_man = *resources::tod_manager;
|
||||
int limit =
|
||||
get_data().empty() ? -1 : lexical_cast_default<int>(get_data(), 1);
|
||||
tod_man.add_turns(-tod_man.number_of_turns());
|
||||
tod_man.add_turns(lexical_cast_default<int>(limit,-1));
|
||||
tod_man.set_number_of_turns(limit);
|
||||
menu_handler_.gui_->redraw_everything();
|
||||
}
|
||||
|
||||
|
@ -283,9 +283,9 @@ void tod_manager::modify_turns(const std::string& mod)
|
||||
{
|
||||
num_turns_ = std::max<int>(utils::apply_modifier(num_turns_,mod,0),-1);
|
||||
}
|
||||
void tod_manager::add_turns(int num)
|
||||
void tod_manager::set_number_of_turns(int num)
|
||||
{
|
||||
num_turns_ = std::max<int>(num_turns_ + num,-1);
|
||||
num_turns_ = std::max<int>(num, -1);
|
||||
}
|
||||
|
||||
void tod_manager::set_turn(unsigned int num)
|
||||
@ -299,7 +299,7 @@ void tod_manager::set_turn(unsigned int num)
|
||||
set_time_of_day(current_time);
|
||||
|
||||
if(static_cast<int>(num) > num_turns_ && num_turns_ != -1) {
|
||||
add_turns(num - num_turns_);
|
||||
set_number_of_turns(num);
|
||||
}
|
||||
turn_ = num;
|
||||
|
||||
|
@ -95,7 +95,7 @@ class tod_manager : public savegame::savegame_config
|
||||
size_t turn() const {return turn_;}
|
||||
int number_of_turns() const {return num_turns_;}
|
||||
void modify_turns(const std::string& mod);
|
||||
void add_turns(int num);
|
||||
void set_number_of_turns(int num);
|
||||
|
||||
/** Dynamically change the current turn number. */
|
||||
void set_turn(unsigned int num);
|
||||
|
Loading…
x
Reference in New Issue
Block a user