I just started to play Battle for Wesnoth. I did some of the tutorial and I have started a novice campaign. When controlling say the elven archers, I wish to do an attack by bow. Given that it is a range weapon, I would assume I could be several squares away and attack the enemy. Every time I attack with it though, it seems that the game requires that I be adjacent to the enemy to carry out the attack. This is by clicking on the archer then clicking on the enemy. Is there a way to do a true range attack with a bow from several squares away? Seems like the learning curve would accelerate quite a bit if I find out how.
Is it possible to do a bow attack and not be adjacent to enethe in Battle for Wesnoth
battle-for-wesnoth
Related Solutions
Here comes Wikipedia to the rescue!
The Battle for Wesnoth, or simply Wesnoth, is a turn-based strategy game with a fantasy setting, designed by David White and first released in June 2003. In Wesnoth, the player attempts to build a powerful army by controlling villages and defeating enemies for experience. White based Wesnoth loosely on the Sega Genesis games Master of Monsters and Warsong. He wanted to create a freely-available, open source strategy game with very simple rules, but one that had strong artificial intelligence and that was challenging and fun. The Battle for Wesnoth is available without charge for a variety of computer operating systems, and in the iPhone App Store for $4.99. The most current development version of the game, 1.9.3, was released on December 10, 2010. The latest iPhone version was released on May 31, 2010. Developed under the GNU General Public License, The Battle for Wesnoth is free software.
A quick look at the source code reveals no evidence of bias. The key lines appear to be (from src/actions/attack.cpp
):
bool attack::perform hit(bool attacker_turn, statistics::attack_context &stats)
{
int ran_num = random_new::generator->next_random();
bool hits = (ran_num % 100) < attacker.cth_;
In plain English, when calculating what happens in an attack, it generates a random number between 0 and 99 inclusive, and if that number is less than the attacker's chance to hit, the attack hits.
Chasing through the code, random_new::generator->next_random()
is simply a wrapper around the C standard library's random-number generator. This generator has its faults, but a bias in favor of streaks of similar outcomes isn't one of them.
In short, you're experiencing a very human tendency to see streaks of similar outcomes as "not random", when in fact they're a perfectly normal result of randomness. Next time you make an attack, click the "damage calculations" button and look at the full range of possible outcomes and their odds.
Best Answer
No, this is not possible. Units can have a melee attack and/or a ranged attack in Wesnoth. When you attack a unit, you must be adjacent to them, but they can only respond with the type of attack you used. So if you attack a unit with no ranged attack with a ranged attack, you are guaranteed to be safe.
Try to use your ranged attacks first and finish off the enemies that they attacked. This will allow you to move other units into that space to help shield your ranged units from being attacked back on the following turn.