Also backtracked the removal of wesnoth.get_recall_units, which is now available as wesnoth.units.find_on_recall - it's just more convenient than passing x=recall to wesnoth.units.find
that's good practive, because in other cases the player might press ctrl+j
and see the default objectives instead.
Also, as in these cases it's know that there is exactly one enemy, say so.
[ci skip]
since the recent changes to overlays= in particular 1a7724e5472,
e71033374c35 and b2cd1cf6c [unit]overlays= is no longer the
recommended way to add an overlay and the use of the
apply_to=overlay effect is reccomended instead, so adding it
to the [trait] is the most natural option here.
this in particular fixes#4058 . Also people simply forgetting the
IS_LOYAL macro was a not-so-uncommon cause of bugs.
In some cases people want to give the LOYAL trait without giving the
loyal overlays for those cases i added a optional OVERLAY parameter to
the {TRAIT_LOYAL} macro, also heroes should now use {TRAIT_LOYAL_HERO}
instead which uses the hero overlay. The IS_LOYAL and IS_HERO macros are
no longer needed in combination with those traits.
Drake has an weakness to pierce, which the goblins use.
On the other hand, it has impact resist and does fire damage,
good against WC and skeletons. Thus the side switch.
Because both are quick units and close to each other it won't
confuse players either.
Changes from the research refactoring can also be applied here:
- only storing sides gold instead of the whole side
- removing helper variable for loop
Then spiders got an extra side
The Lvl 0 ones never pay upkeep and got their own macro
The Lvl 2 Guards got the loyal trait
That way it's clearly communicated that all these units don't pay
upkeep, without being obstrusive about the fact.
not necessary, side effects:
- it's obvious that they don't cost upkeep
- no vision sharing of the caves with the enemies
- can also attack the enemies though that probably won't happen
Killing a guardian (the guards or a spider) punished the player,
because the AI then doesn't need to pay upkeep anymore for that unit.
That has been changed, and as the AI has thus less cost, the income needs
adjustments too:
The following has been taken into account:
- the guardian units had upkeep costs of 7g
- the AI has 3-4 villages, each worthy 1g of village_support
* before turn 7, the AI can't recruit Lv 1 units. From turn 9 it recruits
exclusively Lv 1 units.
* This means in the early game the AI payed just 4g upkeep for the
guardians and when it managed to recruit 3 Lv 1 units it was equal to 7g
- in the late game the AI may need more money in general, as Lv 2 units are
expensive. The fact that the AI gets 50g in turn 17 means that the income
is too low to buy the units normally.
The general idea is to have with this change same amount of money in the
early game and the same or more in the late game.
To address the above:
- 4g less income
- the Lv 3 spider is usually killed in each game, often before turn 7. It's
seen as compensation for the village_gold
- The income of the AI is increased in relation to the turns. From turn 15 on:
Each turn one of the AIs gets +1g income – in average +1g income each 4 turns.
- by building a house between the swamp and the guardian the restriction
could have been bypassed. And because attacking a unit next to the swamp
has higher priority compared to capturing the house it's not very dangerous
- also use the same macro for guardians and leaders movement restrictions