Author: dragonking
Date: Sat Jul 26 18:53:03 2008
New Revision: 28219
URL: http://svn.gna.org/viewcvs/wesnoth?rev=28219&view=rev
Log:
Added get_ability_list and get_traits_list functions to unit class
Modified:
trunk/src/unit.cpp
trunk/src/unit.hpp
trunk/src/unit_abilities.cpp
Modified: trunk/src/unit.cpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/unit.cpp?rev=28219&r1=28218&r2=28219&view=diff
==============================================================================
--- trunk/src/unit.cpp (original)
+++ trunk/src/unit.cpp Sat Jul 26 18:53:03 2008
@@ -449,6 +449,20 @@
for(std::vector<config*>::const_iterator j2 = traits.begin(); j2 !=
traits.end(); ++j2) {
modifications_.add_child("trait",**j2);
}
+}
+
+std::vector<std::string> unit::get_traits_list() const
+{
+ std::vector<std::string> res;
+
+ config::child_list const &mods = modifications_.get_children("trait");
+ for(config::child_list::const_iterator j = mods.begin(), j_end =
mods.end(); j != j_end; ++j)
+ {
+ std::string const &id = (**j)["id"];
+ if (!id.empty())
+ res.push_back(id);
+ }
+ return res;
}
void unit::advance_to(const unit_type* t, bool use_traits, game_state* state)
Modified: trunk/src/unit.hpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/unit.hpp?rev=28219&r1=28218&r2=28219&view=diff
==============================================================================
--- trunk/src/unit.hpp (original)
+++ trunk/src/unit.hpp Sat Jul 26 18:53:03 2008
@@ -208,6 +208,7 @@
bool invalidate(const gamemap::location &loc);
const t_string& traits_description() const { return
traits_description_; }
+ std::vector<std::string> get_traits_list() const;
int cost () const { return unit_value_; }
@@ -275,6 +276,7 @@
unit_ability_list get_abilities(const std::string& ability, const
gamemap::location& loc) const;
std::vector<std::string> ability_tooltips(const gamemap::location& loc)
const;
std::vector<std::string> unit_ability_tooltips() const;
+ std::vector<std::string> get_ability_list() const;
bool has_ability_type(const std::string& ability) const;
bool abilities_affects_adjacent() const;
Modified: trunk/src/unit_abilities.cpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/unit_abilities.cpp?rev=28219&r1=28218&r2=28219&view=diff
==============================================================================
--- trunk/src/unit_abilities.cpp (original)
+++ trunk/src/unit_abilities.cpp Sat Jul 26 18:53:03 2008
@@ -218,6 +218,24 @@
res.push_back(name);
res.push_back((**j)["description"]);
}
+ }
+ }
+ return res;
+}
+
+std::vector<std::string> unit::get_ability_list() const
+{
+ std::vector<std::string> res;
+
+ const config* abilities = cfg_.child("abilities");
+ if (!abilities) return res;
+ const config::child_map& list_map = abilities->all_children();
+ for (config::child_map::const_iterator i = list_map.begin(), i_end =
list_map.end(); i != i_end; ++i) {
+ for (config::child_list::const_iterator j = i->second.begin(),
j_end = i->second.end(); j != j_end; ++j) {
+ std::string const &id = (**j)["id"];
+
+ if (!id.empty())
+ res.push_back(id);
}
}
return res;
_______________________________________________
Wesnoth-commits mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-commits