30 Commits

Author SHA1 Message Date
Vantha 27fbf02ff4 Improve the ending of tutorials
This patch introduces two functions `CompleteTutorial` and
`FailTutorial` for the tutorial steps to call. They can pass a
message to it to be shown on the victory/defeat screen.
`CompleteTutorial` is also called automatically when all steps are
finished, which resolves #8583 and prevents it from happening in the
future.
`FailTutorial` isn't used anywhere at the moment, but it'll be useful
for the future.

Fixes #8583
2026-07-22 23:51:49 +02:00
Dunedan 93ce94655d Use @stylistic/brace-style for eslint
Up to now `eslint-plugin-brace-rules` was used to enforce a common brace
style for JavaScript code. This plugin was however updated the last time
over 9 years ago and will be incompatible with ESLint v10, as that
[removes `context.getSourceCode()`][1], the plugin relies on.

To keep the eslint config working with ESLint v10, this replaces
`eslint-plugin-brace-rules` with the [`@stylistic/brace-style`][2] rule
from `@stylistic/eslint-plugin`, a package we already use.

While `@stylistic/brace-style` doesn't offer an option to format braces
in exactly the same way as before, the "allman" style seems to be the
one closest to the existing code.

[1]: https://eslint.org/blog/2025/11/eslint-v10.0.0-alpha.0-released/#removed-deprecated-rule-context-members
[2]: https://eslint.style/rules/brace-style
2026-01-12 21:33:52 +01:00
Vantha 734f8e1192 Add an "OnAttackDetected" trigger 2025-02-26 11:56:52 +01:00
Angen dc361048aa Fix a1010b83d3 and 8f8996e338
Fix wrong renaming done in a1010b83d3
Fix missed structure change in 453fe486de

Reported by: SciGuy42 on forum
https://wildfiregames.com/forum/topic/62269-onrange-triggers-in-a25/
Tested by: SciGuy42
Differential revision: D4335
This was SVN commit r25989.
2021-11-06 11:07:28 +00:00
wraitii 453fe486de Triggers: prevent event names from conflicting with added methods
Refs c0157d613d / D3913 which removed the 'actions' suffix. The reason
for this suffix was probably avoiding this type of conflict, but this
new solution does a better job.

Fixes (at least) Survival of the Fittest, which used an
OnOnwershipChanged trigger.

Differential Revision: https://code.wildfiregames.com/D3979
This was SVN commit r25467.
2021-05-20 08:26:04 +00:00
wraitii 8f8996e338 Allow registering custom data for triggers
This allows easier handling of e.g. range triggers calling into the same
function.

The original trigger data is also forwarded for convenience.

Differential Revision: https://code.wildfiregames.com/D3904
This was SVN commit r25413.
2021-05-09 16:55:36 +00:00
wraitii a1010b83d3 Enable specifying the trigger action independently of the trigger name.
Trigger functions/actions were tied to the trigger 'identifier'. This is
inconvenient if several triggers should call the same function, e.g. for
range triggers.

By setting an 'action' in the trigger data, one can now specify the
function to call independently of the trigger name.

For clarity, the 'action' parameter in RegisterTrigger is changed to
'name'. By default, the action still matches the trigger name for
compatibility and convenience.

Differential Revision: https://code.wildfiregames.com/D3903
This was SVN commit r25374.
2021-05-04 12:33:45 +00:00
wraitii c0157d613d Simplify trigger event naming scheme.
Reduces confusion and string manipulation.

Refs #52.

Differential Revision: https://code.wildfiregames.com/D3913
This was SVN commit r25373.
2021-05-04 09:46:38 +00:00
Freagarach c3da0cdd0f Fix cosmetic ESLint warnings in JS components (and their tests).
Which were autofixable, with slight modifications.
Not done are the slightly more complex changes.

Refs. #5524
Patch by: @Krinkle
Differential revision: D2279
Comments by: @elexis, @Stan
Reviewed by: @wraitii
This was SVN commit r25087.
2021-03-20 09:02:22 +00:00
bb 0a26c55513 Fix more JsDocs numbers/bools/strings
This was SVN commit r23992.
2020-08-24 11:50:31 +00:00
bb b3487dfb60 Handle entity renames in regicide
This allows heroes to be upgraded

Patch By: smiley
Comments By: elexis
Differential Revision: https://code.wildfiregames.com/D1694
This was SVN commit r22019.
2019-01-04 20:09:28 +00:00
mimo 2dc41277df cleanup 9daa7520ef following bb's comments
This was SVN commit r20763.
2018-01-03 15:27:02 +00:00
mimo 9daa7520ef Allows trigger script with different difficulty levels
Reviewed By: elexis
Differential Revision: https://code.wildfiregames.com/D1189
This was SVN commit r20760.
2018-01-03 11:21:37 +00:00
mimo 8a32deb5ca Fix tutorial stuck after building farm
Trac Tickets: #4696, #4697

Differential Revision: https://code.wildfiregames.com/D774
This was SVN commit r19998.
2017-08-19 09:38:52 +00:00
mimo 15e2b42525 New economic tutorial based on triggers, accessible from the "learn to play" button
Reviewed By: elexis
Differential Revision: https://code.wildfiregames.com/D194
This was SVN commit r19599.
2017-05-17 17:33:36 +00:00
elexis 026dcf10eb Danubius random map script with reoccuring gaia ships that take control of the river and ungarrison units to attack the players.
Places a fortified gaia village, some gaia units performing a ritual and
some towers garrisoned on islands.
The attacker and ship count increases over time.
The attacker composition is randomized per ship and switches from
citizen soldiers to champions, heroes and siege engines.
One in three matches takes place at night.

Differential Revision: https://code.wildfiregames.com/D204
Map generation based on patch by Hannibal Barca
Reviewed By: bb, FeXoR
Refs #4354

This was SVN commit r19434.
2017-04-19 14:50:48 +00:00
elexis 35377c51a7 Capture The Relic gamemode.
Patch By: Sandarac
Differential Revision: https://code.wildfiregames.com/D152
This was SVN commit r19345.
2017-03-25 07:01:07 +00:00
mimo 818bd07bc7 fix initialization of survivalofthefittest trigger map, refs #3102
This was SVN commit r19035.
2016-12-11 15:17:17 +00:00
Itms ced8ceed47 Properly handle wonder victory messages after a player has won.
Patch by Sandarac, reviewed by elexis, fixes #4010

This was SVN commit r18514.
2016-07-13 06:51:59 +00:00
elexis 23a9fa1e65 Trigger script cleanup.
Remove tons of trailing whitespace.
Format JSdoc comments properly.
Use alphabetical sorting in array.
let instead of var.
Eliminate deprecated for-each.

This was SVN commit r18412.
2016-06-20 15:59:14 +00:00
mimo c43ce2ca55 cleanup of missing semicolon
This was SVN commit r17934.
2016-03-21 20:33:05 +00:00
Yves 89aef0b6eb Cinematic camera core functionality. Patch by Vladislav Belov.
Based on existing code that was still around from an old(not working)
implementation.
Supports basic control from trigger scirpts (queue, start and stop
camera paths) and works in multiplayer.

This was SVN commit r17594.
2016-01-03 12:41:04 +00:00
mimo 0b86bbd424 another bunch of cleanup (mainly missing semicolon) signaled by jshint
This was SVN commit r17045.
2015-09-19 12:50:48 +00:00
sanderd17 cc4af6d2d4 Allies only share vision when researching a tech. Based on patch by niektb. Fixes #2055
This was SVN commit r16795.
2015-06-19 09:24:55 +00:00
leper a5ebd8dafd Load trigger scripts in serialization test mode.
This was SVN commit r15549.
2014-07-22 23:30:27 +00:00
Yves 3746d7c3d9 Adds a playable trigger demo mission for multiplayer and TreasureCollected events.
Search treasures on small islands and on water. Collect more treasures
than your opponent to win.
I've used the Cycladic Archipelago scenario map with some minor
adjustments, mainly treasure placement and civ preselection for even
chances (both need townphase to build trading boats that can collect
floating treasures).
There's still some room for improvement to make it more fun and add
additional triggers, but I'll leave that for modders. :)

This was SVN commit r15432.
2014-06-23 20:14:43 +00:00
sanderd17 8915037631 Turn victory conditions into trigger scripts. Gui needs to be updated to allow combining of different victory conditions + to allow different lists per map. So there are no specific missions yet.
This was SVN commit r15427.
2014-06-23 17:37:27 +00:00
sanderd17 b811066b85 Add ownership changed event to Triggers.
This was SVN commit r15426.
2014-06-23 16:32:44 +00:00
sanderd17 e33e70e626 Change trigger initialisation as it's not compatible with multiple trigger files (functions would overwrite each other)
This was SVN commit r15425.
2014-06-23 15:55:07 +00:00
sanderd17 9f47ed536d Add engine support to triggers + a component to provide an easy interface and to be extended by triggers. Thanks to SpahBod for the biggest part of the code, and Yves for the review.
This was SVN commit r15421.
2014-06-23 13:42:59 +00:00