Difference between revisions of "Talk:ReferencePythonAPI"

From The Battle for Wesnoth Wiki
(minor API cleanup)
m (Archived all outdated feature requests into the history)
 
(18 intermediate revisions by 4 users not shown)
Line 1: Line 1:
== Feature Requests ==
 
  
* Path finder, something like: wesnoth.find_path(loc1, loc2), and it would return a list of all locations in between, or just the first step.. whatever the C++ API has
 
:Gonna wrap a_star_search (in pathfind.hpp) [[User:Ryo|Ryo]] 19:44, 8 December 2005 (CET)
 
:Actually it's gonna be unit.find_path() since it depends on a unit. [[User:Ryo|Ryo]] 19:53, 8 December 2005 (CET)
 
:Done, experimental though :) [[User:Ryo|Ryo]] 20:09, 8 December 2005 (CET)
 
 
* Persistent variables. Right now, the script state isn't reset, so all variables are already persistent. But for the final version, there should be real persistent variables, which can also be stored to WML, and reloaded. An AI would use it to e.g. store a path, or some other state.
 
:Probably with the Object -> String Python conversion. Will look at that [[User:Ryo|Ryo]] 19:44, 8 December 2005 (CET)
 
 
* Something like wesnoth.get_possible_moves(loc) - it would return all possible moves for the unit at the given location. It seems, right now, I make a lot of mistakes because the info of wesnoth.get_src_dst or wesnoth.get_units gets outdated after I move a unit. (Not really sure about this one, better planning out of the algorithm might make this function un-necessary.)
 
:Yes, you need to grab again the array after moving. What happens is that you get a "snapshot" copy, which isn't updated when you move a unit - thus your "obsolete" copy can contain now invalid destinations. I'm not sure of a fix for that apart getting again the array. [[User:Ryo|Ryo]] 19:44, 8 December 2005 (CET)
 
 
== chance to kill ==
 
 
Can I get a chance_to_kill(wesnoth.location)? And it would tell me the chance to kill the unit at the given location, using terrain modifiers and everything.. I assume, the C++ AI has something like it available. [[User:Allefant|Allefant]] 22:39, 10 January 2006 (CET)
 
 
:I'll check what the C++ has, and export it. [[User:Ryo|Ryo]] 09:24, 11 January 2006 (CET)
 
 
:Ok, there is a structure/function associated, <code>attack_analysis</code>. Gonna try to export it, but may be a mess :)
 
:[[User:Ryo|Ryo]] 11:29, 15 January 2006 (CET)
 
 
== usage pattern ==
 
 
I'm not sure it would be really useful, since a good AI would probably derive the usage of a unit out of its properties - but maybe there could be a way to query the usage pattern of a unit? Like "scout" or "fighter".. --[[User:Allefant|Allefant]] 22:35, 13 January 2006 (CET)
 
 
== minor API cleanup ==
 
 
* properties or methods? E.g. why '''wesnoth.unit.type()''' but '''wesnoth.unit.name'''? Same or wesnoth.get_map() or wesnoth.get_gamestatus(), and others.. The rule behind it is not clear. One way could be, make everything that can change inside a turn a method, everything else a property. Or just make everything methods/properties, since it doesn't seem to matter much in the Python-C-API..
 
 
* '''unit.movement_cost''' - why does it need the wesnoth.gamemap parameter? Since you don't have a lot of choice what to pass there (or do I have it? could i modify the map returned by get_map?), I think the parameter could go. Same for defense_modifier.
 

Latest revision as of 13:53, 30 July 2006

This page was last edited on 30 July 2006, at 13:53.