WFL: Deal with the side fiasco by deprecating it
When you have a unit object, "side" starts at 0. When you have a terrain object, "owner" starts at 0 (or -1 for an unowned tile). When you have a side object, "side" starts at 1. This deprecates all those and adds "side_number" (or "owner_side" for terrain) instead which always starts at 1.
This commit is contained in:
parent
735ba1b8f2
commit
4c8167c4e7
1 changed files with 15 additions and 4 deletions
|
@ -25,6 +25,8 @@
|
|||
#include "units/types.hpp"
|
||||
#include "log.hpp"
|
||||
#include "recall_list_manager.hpp"
|
||||
#include "deprecation.hpp"
|
||||
#include "version.hpp"
|
||||
|
||||
static lg::log_domain log_scripting_formula("scripting/formula");
|
||||
#define LOG_SF LOG_STREAM(info, log_scripting_formula)
|
||||
|
@ -234,7 +236,10 @@ variant unit_callable::get_value(const std::string& key) const
|
|||
} else if(key == "states" || key == "status") {
|
||||
return formula_callable::convert_set(u_.get_states());
|
||||
} else if(key == "side") {
|
||||
deprecated_message("unit.side", DEP_LEVEL::FOR_REMOVAL, version_info("1.17"), "This returns 0 for side 1 etc and should not be used. Use side_number instead.");
|
||||
return variant(u_.side()-1);
|
||||
} else if(key == "side_number") {
|
||||
return variant(u_.side());
|
||||
} else if(key == "cost") {
|
||||
return variant(u_.cost());
|
||||
} else if(key == "upkeep") {
|
||||
|
@ -331,7 +336,7 @@ void unit_callable::get_inputs(formula_input_vector& inputs) const
|
|||
add_input(inputs, "max_moves");
|
||||
add_input(inputs, "attacks_left");
|
||||
add_input(inputs, "max_attacks");
|
||||
add_input(inputs, "side");
|
||||
add_input(inputs, "side_number");
|
||||
add_input(inputs, "extra_recruit");
|
||||
add_input(inputs, "advances_to");
|
||||
add_input(inputs, "status");
|
||||
|
@ -537,7 +542,7 @@ int config_callable::do_compare(const formula_callable* callable) const
|
|||
return cfg_.hash().compare(cfg_callable->get_config().hash());
|
||||
}
|
||||
|
||||
terrain_callable::terrain_callable(const display_context& dc, const map_location& loc) : loc_(loc), t_(dc.map().get_terrain_info(loc)), owner_(dc.village_owner(loc) - 1)
|
||||
terrain_callable::terrain_callable(const display_context& dc, const map_location& loc) : loc_(loc), t_(dc.map().get_terrain_info(loc)), owner_(dc.village_owner(loc))
|
||||
{
|
||||
type_ = TERRAIN_C;
|
||||
}
|
||||
|
@ -571,6 +576,9 @@ variant terrain_callable::get_value(const std::string& key) const
|
|||
} else if(key == "healing") {
|
||||
return variant(t_.gives_healing());
|
||||
} else if(key == "owner") {
|
||||
deprecated_message("terrain.owner", DEP_LEVEL::FOR_REMOVAL, version_info("1.17"), "This returns 0 for side 1 etc and should not be used. Use owner_side instead.");
|
||||
return variant(owner_ - 1);
|
||||
} else if(key == "owner_side") {
|
||||
return variant(owner_);
|
||||
}
|
||||
|
||||
|
@ -592,7 +600,7 @@ void terrain_callable::get_inputs(formula_input_vector& inputs) const
|
|||
add_input(inputs, "castle");
|
||||
add_input(inputs, "keep");
|
||||
add_input(inputs, "healing");
|
||||
add_input(inputs, "owner");
|
||||
add_input(inputs, "owner_side");
|
||||
}
|
||||
|
||||
int terrain_callable::do_compare(const formula_callable* callable) const
|
||||
|
@ -655,7 +663,7 @@ variant gamemap_callable::get_value(const std::string& key) const
|
|||
|
||||
void team_callable::get_inputs(formula_input_vector& inputs) const
|
||||
{
|
||||
add_input(inputs, "side");
|
||||
add_input(inputs, "side_number");
|
||||
add_input(inputs, "id");
|
||||
add_input(inputs, "gold");
|
||||
add_input(inputs, "start_gold");
|
||||
|
@ -688,6 +696,9 @@ void team_callable::get_inputs(formula_input_vector& inputs) const
|
|||
variant team_callable::get_value(const std::string& key) const
|
||||
{
|
||||
if(key == "side") {
|
||||
deprecated_message("team.side", DEP_LEVEL::INDEFINITE, version_info("1.17"), "Use side_number instead.");
|
||||
return variant(team_.side());
|
||||
} else if(key == "side_number") {
|
||||
return variant(team_.side());
|
||||
} else if(key == "id") {
|
||||
return variant(team_.save_id());
|
||||
|
|
Loading…
Add table
Reference in a new issue