427 Commits

Author SHA1 Message Date
Subhraman Sarkar
0302dd8601 tutorial: UI improvements
uses portraits in the character selection and single click selection on pictures instead of buttons
also adds a dark background to hint messages to make them easier to read
adds arrow markers in the beginning on the units
2024-11-02 12:56:29 +05:30
Gothyoba
16c4a57556
Tutorial: AToTB is a "novice" campaign 2024-06-25 18:42:32 +02:00
Wedge009
ef13ea4565 Tutorial S2: Only trigger comment about the 'Dumbo' orc if it is still alive after the attack.
Addresses final point in #5544.
2024-05-19 10:54:16 +10:00
Steve Cotton
b313270261 Tutorial S01: Better timing for the hints
No string changes, just adjusting when the hints at the top-left of the screen
appear and disappear.

The hint about crowns now appears after recruiting both elves, so that there
are units to compare the leader to, who have the same orb color but no crown.

The hint about traits appears when told to attack the quintain with the elves.
The player will probably find a strong or dexterous trait, and Delfador already
comments about those traits after attacking. Even if neither elf has those,
speedy or robust could also influence whether to use melee or ranged attacks.

There's now no hint on screen when first choosing which village to use for
healing; previously it was the hint about crowns which didn't seem relevant.
No strings are added in this commit, but a hint about checking the quintain's
movement range would fit here, see <https://r.wesnoth.org/t54644>.

(cherry picked from commit f7a0f119de8f07d128d64374d7e872a2b3250cb5)
2024-03-29 13:38:21 +01:00
Pentarctagon
e3bb346b39 Add functionality for achievements to be partially complete.
Instead of being either complete or incomplete, achievements can now specify a value at which they will be considered complete. For such achievements that are not yet complete, a progress bar is added to the achievements dialog showing how close to completion the achievement is.
2023-02-04 15:43:28 -06:00
Tahsin Jahin Khalid
ca49d10a47
[Achievements] add correct tag (#7306)
it's `[set_achievement]` (in the Lua file)

achievements: correct content_for=
tutorial: use correct id on achievement
2023-01-21 12:54:09 -06:00
Pentarctagon
d1465a9eb9
Add basic achievements functionality. (#7237)
* Add basic achievements functionality.

This reads the mainline achievements.cfg and then all the achievements of each installed add-on.

This is intentionally handled separately from other WML loading so that:
a) All achievements and their status are able to be displayed on the main menu right after Wesnoth starts and regardless of which add-ons are active.
b) Add-ons can add additional achievements to other content, whether UMC or mainline. For example, a modification that adds more achievements for mainline campaigns.

Marking something as achieved is handled by the new [set_achieved] tag and whether an achievement has been completed can be checked via [has_achievement].

There is no attempt to prevent people from manually editing which achievements they've accomplished.

NOTE: These are *not* in any way related to Steam achievements!
2023-01-21 10:32:45 -06:00
Tommy
24e1da729d Tutorial: use FLASH_LIGHTNING rather than color_adjust 2022-08-07 23:11:21 +12:00
Celtic Minstrel
0ffe926b01
Make tutorial hint messages persistent (#6620)
The hint messages even persist in saved games, in case someone saves their tutorial
2022-05-20 12:23:49 -04:00
Pentarctagon
9bfd432abe Update image pages for webp extension. 2022-04-30 14:23:32 -05:00
Alexander Lacson
8ca8bc08b1
Tutorial: Suggested Proofread Edits (#6179) 2021-10-11 12:49:49 -04:00
Wedge009
9cd5503338
Revise capitalisation (#6067)
* Revise capitalisation as per https://wiki.wesnoth.org/ProseStyle

Capitalisation of race names was inconsistent in parts, even within the same scenario in some cases.
As per https://wiki.wesnoth.org/ProseStyle, race names are generally lower-case unless part of unit or place names, or a specific group (such as 'Quenoth Elves'):
* Elf/Elves/Elvish/Elven
* Drakes
* Dwarf/Dwarves/Dwarvish/Dwarven
* Goblins
* Gryphons
* Humans
* Mer/Merfolk
* Nagas
* Ogres
* Orcs
* Saurians
* Trolls
* Woses

I substitute 'human' for 'men' on occasion, not for PC-ness, but to make it clear it's a reference to the race, not males (non-humans sometimes say 'men' when speaking to fellow male soldiers, for example).

Capitalisation of titles is a little less straightforward. Clearly cases such as King Haldric, Queen Asheviere, Prince of Wesnoth, Great Chief, etc, are capitalised.
However, use of a title alone can be valid with or without capital, eg 'the king/King'. I try to be consistent and consider the context:
* Title is used in place of the name, eg compare 'by the King's order' with 'by Garard's order'
* Would the speaker show respect to the person concerned as their leader, or a foreign dignitary? Contrast, 'Asheviere, that vile queen'.
* Compare 'my king' with 'my father' (latter is not usually capitalised in everyday English)
* Occasionally, when the speaker may not otherwise know a character's name or the correct protocol to address, may say something like 'Sir Elf'.

I apologise if I run counter to previous revisions - removal of 'princess' as a direct address in Northern Rebirth, for example, also dealt with the capitalisation issue, if I recall correctly.

Miscellaneous changes:
* Magi, as plural of mage, is not usually capitalised.
* Council may be capitalised when referring to a specific instance, such as the Elvish High Council in the Ka'lian, but not in instances such as 'making council'.

The review focused solely on campaign prose - there may be cases in other data files where capitalisation needs revising too.

* Capitalise proper noun use of 'kingdom'.

Just as England may be referred to as such on its own, it was also known as the Kingdom of England.
In the same way, Wesnoth is usually referred to simply as Wesnoth, but it would be formally called the Kingdom of Wesnoth.

* Capitalise 'majesty' when used as an address.

For consistency with existing instances of 'Your Majesty'.

* Capitalise 'Land of the Dead'.

While we might not normally refer to such as a place as a proper noun, Delfador's Memoirs seems to establish this as a specific location in Wesnoth lore.
For consistency, also capitalise a few references to this place in Northern Rebirth and Son of the Black-Eye.

(Granted, this does make Iliah-Malal's line in DM S18 seem a bit awkward, contrasting with 'land of the living', but the precedent has been set throughout the rest of the campaign.)

* Capitalise instances of the Book of Crelanu.

I leave book as lower-case when it's not yet famously known as the Book of Crelanu, such as in Legend of Wesmere, as well as in DM S15, where it is simply described as a book belonging to the old mage Crelanu.

* Harbour of Tirigaz does not appear to be a formal (capitalised) name.

In S12, Tirigaz is only described as a 'harbour'. Other instances of Tirigaz describes it as (lower-case) a port city.

[ci skip]
2021-09-22 18:15:01 +10:00
Wedge009
3fcba6aa1c Replace 'straight' apostrophes with 'curly' or 'typesetter' apostrophes or quotes as per https://wiki.wesnoth.org/Typography_Style_Guide
[ci skip]
2021-09-15 16:26:56 +10:00
Steve Cotton
25052e967e Tutorial S01: HDPI support
Remove the maximum size for the character-select dialog, the window will
automatically choose the minimum size that fits the text.

Extend the map 1 hex south. This means that, if the full map fits on screen,
the horizontal center of the map (where the print statements appear) is between
the keep and the south village, thus their labels don't overlap the print
statements.
2021-08-02 08:16:35 +02:00
Steve Cotton
3d2f15ec1e Tutorial S01: Don't let the first Quintain attack on turn 2
A player can follow Dacyn's instructions to the letter, yet get
killed if they choose a village 2 hexes away from the Quintain on
turn 2.

There are better suggestions about handling this in
https://r.wesnoth.org/t54644 , however during the string-freeze
let's simply make the Quintain stay on its starting spot on turn 1.

Add a CLEAR_PRINT because the player has just completed the
"End your turn" instruction.

(cherry picked from commit b02b1ad2ff31d2e56828729cc9d2a952453b8761)
2021-07-20 09:11:38 +02:00
Steve Cotton
08b65b2bd7 Tutorial S02 and tips: Mention holding shift for accelerated speed
One of these uses bold for the menu's name, the other uses italic, because that
seems more consistent with the other hints in the same context.

Re-attach the comment about upkeep to the correct [event], and move the comment
about the easter-egg event to the start of its [event].
2021-06-14 09:57:26 +02:00
Iris Morelle
affb15fbac freenode suffered a horrible accident, we're moving to Libera.Chat
The problem is that right now Libera.Chat does not have a web chat
interface, and no guarantee as to what its URLs are gonna be like
; although staff have said they're probably gonna stick to the same stack
as before so we might end up with very similar looking URLs.

For the time being, we have to get rid of the webchat URLs. They will be
missed a bit. Maybe.

Before anybody asks, yes, I am aware of the po comments in German
translation catalogues including a freenode IRC protocol URL. If I do
anything about it now, somebody will helpfully revert my changes during
a message catalogue merge (it happened some time ago). So, not touching
those until release time.

Also nobody cares about Travis anymore. It's dead cruft, just leave it
alone. (What on earth is that massive base64 string anyway?)

CC #5797
2021-05-21 05:20:44 -04:00
Charles Dang
daff648482 Campaigns: wmlindent pass
[ci skip]
2020-03-08 22:01:26 +11:00
nemaara
50e24404d4 Tutorial S2: fix coordinates in moveto event 2020-01-11 17:44:16 -05:00
Earth-Cake
1eca8258b1 Tutorial - minor improvements (#4682)
* Change victory objectives - S1

* S2 - Minor improvements

* Add a macro and add [cancel_action] tag

* Fix dialogue

* Revert objectives
2020-01-11 16:18:37 +01:00
Steve Cotton
22c7678322 Tutorial S2: When a second Shaman is recruited, say that the healing doesn't stack 2020-01-01 12:32:12 -05:00
Earth-Cake
2289bc6f31
Remove unnecessary [if] tag, fix capture event 2020-01-01 15:59:06 +01:00
Earth-Cake
d3f053fa1e
Add PRINT messages, disallow_end_turn messages
Add more reminding PRINT messages, disallow_end_turn messages, and fix a bug where player can just capture village and end turn without recruiting/recalling units.
2019-12-31 22:46:20 +01:00
Steve Cotton
a5a1fec226 Make map_file= search for a maps directory in the [binary_path] (#4633)
For both [scenario]map_file= and [replace_map]map_file=, this allows both of
these to have the same effect:

* map_file=campaigns/Heir_To_The_Throne/maps/01_The_Elves_Besieged.map
* map_file=01_The_Elves_Besieged.map

This allows a lot of copies of the campaign/add-on's name to be omitted. Thus
it's no longer necessary to change every scenario's .cfg file to rename an
add-on, or to move a campaign between UMC and mainline.

This makes [binary_path] a misnomer, as it now also handles a text-based type
of file, however that's going to be the correct path for campaigns or add-ons
that use the standard layout with images/, maps/, scenarios/, etc.

This commit has the change itself, in filesystem_common.cpp, and the updates
for most of the campaigns. DM, LoW, UtBS and WoV are omitted from this, as they
all use a macro to do the same effect:

 #define MEMOIRS_MAP NAME
-    map_file=campaigns/Delfadors_Memoirs/maps/{NAME}
+    map_file={NAME}
 #enddef
2019-12-26 19:01:28 +01:00
nemaara
ce3ac1e33d Tutorial: starting grunt should not have random traits 2019-12-19 11:50:15 -05:00
nemaara
b0aed28de1 Tutorial: reduce difficulty 2019-12-19 02:51:12 -05:00
Earth-Cake
abb85d3dbe Tutorial S2 map overhaul (#4644) 2019-12-17 23:47:41 +01:00
Earth-Cake
32e8c710ff
Add variable 2019-12-14 00:10:21 +01:00
nemaara
666f3a2c78 AOI: remove from mainline 2019-12-02 11:47:50 +11:00
Celtic Minstrel
24b11221cf Use wml.array_variables instead of wml.array_access.get/set 2019-11-16 13:09:04 -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
Steve Cotton
17940cb98f Replace the [tutorial] tag with [scenario]
The title screen's "tutorial" button will use the tag name from game_classification,
as would anything else that calls game_launcher::set_tutorial().
2019-11-04 17:09:10 +11:00
josteph
74589a642c Fixes from SpellingMistakes 2019-10-19 21:32:24 +00:00
Steve Cotton
b408a155b3 Tutorial S01: Correct dialogue about damage for strong / dextrous elves
Thanks to EarthCake for the implementation.
2019-10-15 01:16:26 +02:00
Steve Cotton
c5df7c4558 Tutorial S02: Show "recruit the right units" when the player has gold
It's confusing when it pops up on turn 12, regardless of the game state. My
leader is normally on the other side of the river from my keep, and I always
wonder "what about my play triggered that?"

Move the message to be part of the "I now have enough gold to recruit more
units" hint.

(cherry picked from commit 80a2ace28ca3728fea95cb5f53fb768ef00e64a3)
2019-10-08 19:39:11 +02:00
Steve Cotton
caf1c8eebd Tutorial S02: Make the grunt cross the bridge without bait (#4425)
Not a code-revert, but a behavior-revert of the switch of this unit
to use the guardian AI. 26327a5bdc41180ae1a4b73bffbaf668ca2c31da.

If he somehow doesn't get across the bridge, warn the player
that something has broken.

(cherry picked from commit 656a44664d3d16fc4179f06f0e902c1c8df861a1)
2019-10-05 20:18:35 +02:00
Severin Glöckner
6da85e9042 switch from map_data to map_file in SP 2019-10-02 02:54:25 +02:00
Severin Glöckner
8ca4ab075a Tutorial: use numerical comparision
[ci skip]
2019-09-23 16:45:25 +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
Steve Cotton
bd130fc8e3 Tutorial S2: Warn about orcs crossing the river when they cross
Closes issue 2a of #1584

Previously the warning was always given on turn 7. It will still trigger even
if the player has units ready to defend that crossing, because I think it's
better to show the message and let the player think "I'm already ready" than to
have it pop up once some fighting has already happened; and it seems easier to
test this logic than to test logic for not showing the message if the crossing
is currently guarded.

Also add a first_time_only=no to the check_income event, so that it can trigger
on turn 7 if it doesn't trigger on turn 6.
2019-07-14 17:00:30 +02:00
Charles Dang
ff9b8d7734 Tutorial S1: fixed typo
[ci skip]
2019-06-25 10:13:32 +11:00
nemaara
8d0f8be312 Tutorial: fix invalid key in filter 2019-03-04 11:55:54 -05:00
nemaara
ecb0f1a472 Tutorial: add dialogue for Konrad or Li'sar levelup 2019-03-02 16:52:17 -05:00
nemaara
8f3d10d619 Tutorial: change water warning to activate on all water hexes 2019-03-02 16:19:27 -05:00
Steve Cotton
309b6e9eae Tutorial S2: Hint that it's better to keep units about-to-level (#3683)
This backports 'Tutorial S2: "choose who gets the 16xp" is a topic for
the rookie campaigns' from 1.14.
2019-01-06 17:00:17 +00:00
Celtic Minstrel
ea9fddcd23 Support [disallow_end_turn]reason= and use it in the tutorial 2018-11-24 17:46:29 -05:00
Steve Cotton
5fa2ba279e
Tutorial S2: Don't allow the orc to recruit wolves on turn 1
If the wolves are recruited on the first turn then Galdrad's turn 3 hint about
getting to the island before them is too difficult for a tutorial, and his hint
about holding the village on turn 4 hint may be a turn too late.

Some have to be recruited on turn 2 to fit the turn 3 hint about them, so rig
the AI's recruitment to do that.
2018-11-06 15:07:49 -06:00
Severin Glöckner
c260cd2529 add / remove some comments
[ci skip]

(cherry picked from commit df8ac3cbb0be62929d654108bfb28ae36c0b41ad)
2018-10-28 02:53:05 +00:00
Severin Glöckner
cd6acf758a Tutorial Part2: Give the player a canche to undo his move
in case he started an attack from the water. The warning
makes no sense otherwise.

[ci skip]

(cherry picked from commit 9cac36e6b858cc9344674f5c90aa872e12e5ba9d)
2018-10-28 02:53:05 +00:00