723 Commits

Author SHA1 Message Date
Hejnewar
e0820700b5
Balance changes (#4834)
* Dragonguard HP increased from 59 to 63
    * Bone Shooter HP increased from 40 to 42
    * Banebow HP increased from 50 to 52
2020-04-05 23:03:21 +02:00
nemaara
a2b787148f Wilderlands: use new encampment terrains 2020-03-22 19:17:16 -04:00
nemaara
225fa5a4a1 2p MP maps: use new encampment terrains 2020-03-22 19:12:25 -04:00
Severin Glöckner
b72ec6e654 MP Hornshark Island: move short Lua file to inline 2020-02-20 05:53:47 +01:00
Earth-Cake
75dcf5789a Remove khalifate multiplayer files 2020-02-04 18:05:59 -06:00
Severin Glöckner
2518cef313 ANL: ai tweaks – don't retreat
In this scenario, the AI can't heal his units, as they destroy buildings
(except for leaders). Thus no sense in keeping units alive.

Disable caste_switch, in case players find a way to abuse it (as they can build castles)

For the Spiders, disable the poison CA, as it's only a monster encounter,
no need to be tactically smart in the long run.
2019-12-23 01:29:43 +01:00
walodar
82810033ff Dunefolk recruitment patterns 2019-12-12 18:12:05 +01:00
walodar
0cd53c9b8d Fix: incorrect dunefolk image path in multiplayer factions and Dune Apothecary attack animation 2019-12-11 18:45:19 +01:00
Celtic Minstrel
732b7942bb Replace all references to deprecated functions in the helper module
(and remove the require if this meant it was no longer used)
2019-12-02 01:10:34 -05:00
pentarctagon
53e92feedf
Fix team names to match the description of allowing FFA. 2019-11-27 21:32:31 -06:00
Celtic Minstrel
3734bce276 Lua: Replace uses of deprecated (moved) sides functions 2019-11-23 14:41:03 -05:00
Celtic Minstrel
aaa2dc4ece Rollback possibility of wesnoth.get_units matching recall list units
Now it's renamed to wesnoth.units.find_on_map.

wesnoth.units.find implements the case of finding units on either the map or a recall list.
2019-11-15 22:39:09 -05:00
Celtic Minstrel
977f05d77f Lua: Replace uses of deprecated (moved) unit functions
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
2019-11-15 22:39:08 -05:00
Severin Glöckner
5ee5920cbd ANL: remove direct use of overlay, switch to objects 2019-11-14 16:53:37 +01:00
nemaara
50629f28cb Change dunefolk units in faction definitions and pathfinding tests 2019-11-08 16:44:13 -05:00
Severin Glöckner
e29287eeee MP: switch to map_file
[ci skip]
2019-10-12 16:51:10 +02:00
josteph
70d82817a0 mp_create_game: Show map preview if scenario has "map_file" and no "map_data"
See #4397
2019-10-10 21:33:11 +00:00
josteph
d154cf14a6 Auction X: Don't shuffle the center side 2019-10-08 21:02:34 +00:00
Severin Glöckner
5a51c56985 MP 5p Wildlands: more tweaks
- use faction=custom
- no upkeep for side 5
- fix operator precedence in objectives

[ci skip]
2019-09-25 18:36:07 +02:00
Severin Glöckner
f32fda8073 MP: use prestart for objectives
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]
2019-09-20 19:29:27 +02:00
Severin Glöckner
5cfe19ec8c MP Wildlands: add proper objectives
Default objectives are not correct here.

[ci skip]
2019-09-20 19:18:35 +02:00
Severin Glöckner
3289517599 MP Wildlands: fix wrong village_gold
Map description remonnecs 1 village_gold.
Otherwise player 5 is disadvantaged, who has always none.

[ci skip]
2019-09-20 19:17:44 +02:00
Severin Glöckner
bf5aee42de MP Wildlands: set more AI settings
including experimental AI

[ci skip]
2019-09-20 19:15:34 +02:00
Severin Glöckner
bf6b74ad69 MP Wildlands: use no_units_left
and don't show gold stats, as they are not relevant.

[ci skip]
2019-09-20 19:14:24 +02:00
Severin Glöckner
b73435f096 MP: team names for 5p Wildlands
…rather than just a number.
[ci skip]
2019-09-20 14:35:18 +02:00
Severin Glöckner
3d604d2045 MP: use sand scuttler instead of scorpion
Has the same resists as the old scorpion.

[ci skip]
2019-09-20 14:14:06 +02:00
Severin Glöckner
af762efd9e MP: undef scenario-level macro
[ci skip]
2019-09-20 13:43:33 +02:00
gfgtdf
5cb93694c6 move loyal overlays to the loyal trait
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.
2019-08-25 20:36:35 +02:00
Severin Glöckner
c19fd94bf0 ANL: use default AI
main difference: Lvl 2 units are recruited in lategame

[ci skip]
2019-08-17 23:58:31 +02:00
Pentarctagon
6efdd1e9ab Remove extra sprite on hex 48,17.
Fixes #4242
2019-08-16 16:49:36 -05:00
FranPrin
4819846910 Dunefolk faction rework by various people
Changelog provided by @ghype below. Additional credits at the end.
=================================================================================================

*Art*
Most of units were reworked - some more some less - but our goal was to make them fit for mainline all together.
If any changes are needed to any unit, then we gladly execute those. There have been months worth of progress
documented in the according art thread for this project.

Base Units: https://forums.wesnoth.org/viewtopic.php?f=9&t=49075
Extra Units: https://forums.wesnoth.org/viewtopic.php?f=9&t=49625

*Balance*
The main reason why this project started in the first place. Here as well we have all the progress for balancing
Dunefolk documented and all developers and users interested in this project and seemed to agree on the current
state of balance. Thats the reason why we will not enlist all the changes here. If there are any problems with
the balance, then we too are willing to provide alternatives that can be discussed either here or on forum.

Balance Thread: https://forums.wesnoth.org/viewtopic.php?f=15&t=49627

*Alignment*
The balance of this faction was based on the newly proposed liminal alignment which works as +0/+0/+25/+0/+0/+25
instead of the old -25/-25/+0/-25/-25/+0

*Weapon Portraits*
As Dunefolk features entirely new units, we found some weapon portraits that fits the attacks of certain units.
The portrait - called „blade-curved“ is a franken but a convincing one. As the current blow pipe for UtbS is a
franken as well, this new weapon portrait should good enough to be mainlined as well. If this request get’s denied,
then we are free to provide alternatives as well. It just fits very well the theme of exotic Naga weapon
craftsmanship without relying on the orcish theme. It used for the following two units:

Lv2 Naga Bladewhirler
Lv3 Naga Dervish

*Descriptions*
New unit concepts require changes and new units require entirely new descriptions. We enlisted all problems and
inconsistencies that resulted with the rework and provided either solutions for them or new descriptions. Yumi
already started doing them but for those who want to see the initial conflicts, here you can find all the problems
displayed:

Unit Descriptions: https://forums.wesnoth.org/viewtopic.php?f=32&t=49867#p642698

*Female Dunefolk Names*
With the introduction of female units to this faction, we would require female names as well. Apparently this was
already coded in mainline, but simple not used.

*Future Plans - Animations*
There are some recourses from past works that allow us to - more or less - easily animate most of Dunefolk units.
The animations range from idle to attack-only, while other units will be fully animated. Some of the units that
are harder to animate will first receive single attack/defend frames until animation concepts were agreed upon.
Our goal is to make Dunefolk as alive as possible.

*Future Plans - Theme, Sound FX*
Rather unimportant to most people but I am interested to add some new sound fx that can start with different hit/death
sounds or new weapon sounds for scimitars. Those are just example and I do not know what I will end up with. But I know
that I will compose a Dunefolk Theme at some point. Using your feedback, I am sure I can manage to create something that
fits the faction the best.

*Future Plans - Wyvern Rider*
This is the only unit is the only one that did not get touched or reworked. The wyvern on it self looks amazing an does
not need any rework but the rider does not really fit thematically anymore, not to mention the weapon is too oversized
and not the usual Wesnoth style. But I won’t touch this sprite until it actually will be needed, most likely - IF -
there is ever going to be a mainline Dunefolk campaign.

*Credits*
I don’t know how detailed you need this to be but here all contributors.
ghype, Hejnewar, Krogen, The_Gnat, Lordlewis, EarthCake, Tom_Of_Wesnoth

It is however important to mention that the amount of contributions of each varies a lot in different categories. I will
organise it a bit and you make use of this info how ever you want. The names are in order of the amount of work put in.

Art: ghype, The_Gnat, Lordlewis
Balance: Hejnewar, Krogen, ghype, The_Gnat
Descriptions: Tom_Of_Wesnoth, Hejnewar

Earthcake joined us in the end and helped us finishing this project by cleaning/finishing the codes and doing all the git
stuff together with The_Gnat. Although none of his work can be categorised in one of the three categories, he still deserves
to be credit in one way or another.

Thanks for your time and efforts.
2019-08-11 07:02:58 +11:00
Severin Glöckner
65b113fb7a ANL: less message spam 2019-06-24 02:57:21 +02:00
Severin Glöckner
4e75b21127 ANL: activate experimental AI 2019-06-24 02:57:15 +02:00
Severin Glöckner
2e57d9b170 ANL: alternative solution for Guard Problem
This avoids not only luring them on weak terrain,
but also luring them out of the way.
2019-06-23 15:41:05 +02:00
Severin Glöckner
dead6d723c Revert "ANL: also protect Guardians from losing defense by luring out"
This reverts commit b943ecb178042804fdc3d00ca281adc8ff9aadeb.
2019-06-23 15:40:41 +02:00
Severin Glöckner
b943ecb178 ANL: also protect Guardians from losing defense by luring out 2019-06-18 00:30:49 +02:00
Severin Glöckner
0ca9dc540f ANL: get name from player instead of leader 2019-06-18 00:30:49 +02:00
Severin Glöckner
2c06fb587e ANL: using second portrait for flavor
In this scenario, the player has only two types. Chances are
that the message for freeing a trapped unit may be spoken by
two Spearmans.
2019-06-15 23:32:49 +02:00
Severin Glöckner
b849adb0da ANL: switch Drake and Gryphon
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.
2019-06-15 22:26:52 +02:00
Severin Glöckner
8eaeecfd25 ANL: clear more variables on exit 2019-06-14 04:45:18 +02:00
Severin Glöckner
bdbb9664fc ANL: disable diplomacy actions towards yourself 2019-06-14 04:45:18 +02:00
Severin Glöckner
3925acd82f ANL: applying refactoring changes to other files
Changes from the research refactoring can also be applied here:
- only storing sides gold instead of the whole side
- removing helper variable for loop
2019-06-14 04:45:18 +02:00
Severin Glöckner
04d32e5d96 ANL: research options – check if choosen option is a change
Don't consume MP if the same option was choosen.
Also removed unneccessary code by using 1.13 additions.
2019-06-14 04:45:18 +02:00
Severin Glöckner
acc17f310c ANL: refactor variable
- store only what is needed
- free variable
2019-06-14 04:45:17 +02:00
Severin Glöckner
2683563fb3 ANL: use loyal trait to mark the lack of upkeep
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.
2019-06-14 04:45:17 +02:00
Severin Glöckner
69b293ce91 ANL: use core macros within anl macros 2019-06-14 04:45:17 +02:00
Severin Glöckner
238f07c779 ANL: use seperate side for spiders
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
2019-06-14 04:45:17 +02:00
Severin Glöckner
213ba8585c ANL: use loyal guardians and adjust income in return
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.
2019-06-14 04:45:17 +02:00
Severin Glöckner
e5ba221c7a ANL: income lock no longer required 2019-06-14 04:45:16 +02:00
Severin Glöckner
b2b9a90022 ANL: refactor income change
This opens up the possibility to change the income
2019-06-14 04:45:16 +02:00