New win condition: artifacts
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
widelands |
Fix Released
|
Wishlist
|
Unassigned |
Bug Description
Recently, a new win condition has been proposed in one of our forums (https:/
I attach a Lua script for this win condition. It behaves as follows:
- Artifacts (immovables) have to be set on the map by the map maker in the editor.
- The player on whose territory the artifact stands owns it.
- Once all artifacts are found, the game is over. The team who owns the most artifacts wins (this can be changed to players, if desired).
- There is no information how much artifacts are on the map (like on a real treasure hunt).
Things that need to be done:
- See NOCOMS in the script.
- We need a nice image (or several ones) added to the editor. Currently, a placeholder (ruin of sentry) is used. Due to my limited artistic skill, I cannot do that myself.
- Add new maps/change existing maps to contain the new immovable.
- Optional: Add a tag to maps that can be used witih this win condition for easy filtering.
Testing:
- Place this file in scripting/
- I've tested it in r7562 and no crash, but I give no guarantee that I tried all edge cases.
Related branches
- SirVer: Approve
- GunChleoc: Approve
- kaputtnik (community): Needs Resubmitting
-
Diff: 7013 lines (+2028/-445) (has conflicts)329 files modifiedmaps/Checkmate.wmf/elemental (+10/-8)
maps/Checkmate.wmf/extra_data (+4/-0)
maps/Checkmate.wmf/objective (+4/-0)
maps/Checkmate.wmf/player/1/messages (+4/-0)
maps/Checkmate.wmf/player/2/messages (+4/-0)
maps/Checkmate.wmf/player_names (+11/-5)
maps/Checkmate.wmf/player_position (+5/-3)
maps/Checkmate.wmf/port_spaces (+7/-0)
maps/Checkmate.wmf/version (+11/-0)
maps/Crater.wmf/elemental (+4/-2)
maps/Crater.wmf/extra_data (+2/-0)
maps/Crater.wmf/objective (+4/-0)
maps/Crater.wmf/player/1/messages (+4/-0)
maps/Crater.wmf/player/2/messages (+4/-0)
maps/Crater.wmf/player_names (+7/-1)
maps/Crater.wmf/player_position (+2/-0)
maps/Crater.wmf/port_spaces (+7/-0)
maps/Crater.wmf/version (+11/-0)
maps/Crossing the Horizon.wmf/elemental (+3/-3)
maps/Crossing the Horizon.wmf/extra_data (+1/-1)
maps/Crossing the Horizon.wmf/objective (+1/-1)
maps/Crossing the Horizon.wmf/player/1/messages (+4/-0)
maps/Crossing the Horizon.wmf/player/2/messages (+4/-0)
maps/Crossing the Horizon.wmf/player/3/messages (+4/-0)
maps/Crossing the Horizon.wmf/player/4/messages (+4/-0)
maps/Crossing the Horizon.wmf/player_names (+1/-1)
maps/Crossing the Horizon.wmf/player_position (+1/-1)
maps/Crossing the Horizon.wmf/port_spaces (+1/-1)
maps/Crossing the Horizon.wmf/version (+11/-0)
maps/Desert Tournament.wmf/elemental (+5/-3)
maps/Desert Tournament.wmf/extra_data (+2/-0)
maps/Desert Tournament.wmf/objective (+2/-0)
maps/Desert Tournament.wmf/player/1/messages (+1/-1)
maps/Desert Tournament.wmf/player/2/messages (+1/-1)
maps/Desert Tournament.wmf/player/3/messages (+1/-1)
maps/Desert Tournament.wmf/player/4/messages (+1/-1)
maps/Desert Tournament.wmf/player_names (+6/-0)
maps/Desert Tournament.wmf/player_position (+2/-0)
maps/Desert Tournament.wmf/port_spaces (+7/-0)
maps/Desert Tournament.wmf/version (+11/-0)
maps/Dry Riverbed.wmf/elemental (+10/-8)
maps/Dry Riverbed.wmf/extra_data (+1/-1)
maps/Dry Riverbed.wmf/objective (+4/-0)
maps/Dry Riverbed.wmf/player/1/messages (+4/-0)
maps/Dry Riverbed.wmf/player/2/messages (+4/-0)
maps/Dry Riverbed.wmf/player/3/messages (+4/-0)
maps/Dry Riverbed.wmf/player_names (+15/-7)
maps/Dry Riverbed.wmf/player_position (+1/-1)
maps/Dry Riverbed.wmf/port_spaces (+7/-0)
maps/Dry Riverbed.wmf/version (+11/-0)
maps/Elven Forests.wmf/elemental (+12/-10)
maps/Elven Forests.wmf/extra_data (+4/-0)
maps/Elven Forests.wmf/objective (+4/-0)
maps/Elven Forests.wmf/player/1/messages (+4/-0)
maps/Elven Forests.wmf/player/2/messages (+4/-0)
maps/Elven Forests.wmf/player/3/messages (+4/-0)
maps/Elven Forests.wmf/player/4/messages (+4/-0)
maps/Elven Forests.wmf/player_names (+19/-9)
maps/Elven Forests.wmf/player_position (+7/-5)
maps/Elven Forests.wmf/port_spaces (+7/-0)
maps/Elven Forests.wmf/version (+11/-0)
maps/Finnish Lakes.wmf/elemental (+9/-9)
maps/Finnish Lakes.wmf/extra_data (+2/-2)
maps/Finnish Lakes.wmf/objective (+4/-0)
maps/Finnish Lakes.wmf/player/1/messages (+4/-0)
maps/Finnish Lakes.wmf/player/2/messages (+4/-0)
maps/Finnish Lakes.wmf/player/3/messages (+4/-0)
maps/Finnish Lakes.wmf/player_names (+14/-8)
maps/Finnish Lakes.wmf/player_position (+5/-5)
maps/Finnish Lakes.wmf/port_spaces (+7/-0)
maps/Finnish Lakes.wmf/version (+11/-0)
maps/Four Castles.wmf/elemental (+15/-1)
maps/Four Castles.wmf/extra_data (+3/-1)
maps/Four Castles.wmf/objective (+4/-0)
maps/Four Castles.wmf/player/1/messages (+4/-0)
maps/Four Castles.wmf/player/2/messages (+4/-0)
maps/Four Castles.wmf/player/3/messages (+4/-0)
maps/Four Castles.wmf/player/4/messages (+4/-0)
maps/Four Castles.wmf/player_names (+19/-9)
maps/Four Castles.wmf/player_position (+7/-5)
maps/Four Castles.wmf/port_spaces (+7/-0)
maps/Four Castles.wmf/version (+11/-0)
maps/Four Mountains.wmf/elemental (+7/-5)
maps/Four Mountains.wmf/extra_data (+2/-0)
maps/Four Mountains.wmf/objective (+4/-0)
maps/Four Mountains.wmf/player/1/messages (+4/-0)
maps/Four Mountains.wmf/player/2/messages (+4/-0)
maps/Four Mountains.wmf/player/3/messages (+4/-0)
maps/Four Mountains.wmf/player/4/messages (+4/-0)
maps/Four Mountains.wmf/player_names (+11/-1)
maps/Four Mountains.wmf/player_position (+2/-0)
maps/Four Mountains.wmf/port_spaces (+7/-0)
maps/Four Mountains.wmf/version (+11/-0)
maps/Glacier Lake.wmf/elemental (+10/-8)
maps/Glacier Lake.wmf/extra_data (+3/-1)
maps/Glacier Lake.wmf/objective (+4/-0)
maps/Glacier Lake.wmf/player/1/messages (+4/-0)
maps/Glacier Lake.wmf/player/2/messages (+4/-0)
maps/Glacier Lake.wmf/player_names (+11/-5)
maps/Glacier Lake.wmf/player_position (+5/-3)
maps/Glacier Lake.wmf/port_spaces (+7/-0)
maps/Glacier Lake.wmf/version (+11/-0)
maps/Golden Peninsula.wmf/elemental (+14/-0)
maps/Golden Peninsula.wmf/extra_data (+4/-0)
maps/Golden Peninsula.wmf/objective (+4/-0)
maps/Golden Peninsula.wmf/player/1/messages (+4/-0)
maps/Golden Peninsula.wmf/player/2/messages (+4/-0)
maps/Golden Peninsula.wmf/player_names (+11/-5)
maps/Golden Peninsula.wmf/player_position (+5/-3)
maps/Golden Peninsula.wmf/port_spaces (+7/-0)
maps/Golden Peninsula.wmf/version (+11/-0)
maps/Lake of Tranquility.wmf/elemental (+14/-0)
maps/Lake of Tranquility.wmf/extra_data (+3/-1)
maps/Lake of Tranquility.wmf/objective (+4/-0)
maps/Lake of Tranquility.wmf/player/1/messages (+4/-0)
maps/Lake of Tranquility.wmf/player/2/messages (+4/-0)
maps/Lake of Tranquility.wmf/player_names (+11/-5)
maps/Lake of Tranquility.wmf/player_position (+5/-4)
maps/Lake of Tranquility.wmf/port_spaces (+7/-0)
maps/Lake of Tranquility.wmf/version (+11/-0)
maps/Last Bastion.wmf/elemental (+8/-3)
maps/Last Bastion.wmf/extra_data (+1/-1)
maps/Last Bastion.wmf/objective (+4/-0)
maps/Last Bastion.wmf/player/1/messages (+4/-0)
maps/Last Bastion.wmf/player/2/messages (+4/-0)
maps/Last Bastion.wmf/player_names (+6/-2)
maps/Last Bastion.wmf/player_position (+1/-1)
maps/Last Bastion.wmf/port_spaces (+7/-0)
maps/Last Bastion.wmf/version (+11/-0)
maps/Long, long way.wmf/elemental (+3/-3)
maps/Long, long way.wmf/extra_data (+1/-1)
maps/Long, long way.wmf/objective (+1/-1)
maps/Long, long way.wmf/player/1/messages (+4/-0)
maps/Long, long way.wmf/player/2/messages (+4/-0)
maps/Long, long way.wmf/player/3/messages (+4/-0)
maps/Long, long way.wmf/player/4/messages (+4/-0)
maps/Long, long way.wmf/player/5/messages (+4/-0)
maps/Long, long way.wmf/player/6/messages (+4/-0)
maps/Long, long way.wmf/player/7/messages (+4/-0)
maps/Long, long way.wmf/player/8/messages (+4/-0)
maps/Long, long way.wmf/player_names (+1/-1)
maps/Long, long way.wmf/player_position (+1/-1)
maps/Long, long way.wmf/port_spaces (+1/-1)
maps/Long, long way.wmf/version (+11/-0)
maps/Mystical Maze.wmf/elemental (+5/-5)
maps/Mystical Maze.wmf/extra_data (+1/-1)
maps/Mystical Maze.wmf/objective (+4/-0)
maps/Mystical Maze.wmf/player/1/messages (+4/-0)
maps/Mystical Maze.wmf/player/2/messages (+4/-0)
maps/Mystical Maze.wmf/player/3/messages (+4/-0)
maps/Mystical Maze.wmf/player_names (+9/-3)
maps/Mystical Maze.wmf/player_position (+1/-1)
maps/Mystical Maze.wmf/port_spaces (+7/-0)
maps/Mystical Maze.wmf/version (+11/-0)
maps/River Explorers.wmf/elemental (+2/-3)
maps/River Explorers.wmf/extra_data (+1/-1)
maps/River Explorers.wmf/objective (+1/-1)
maps/River Explorers.wmf/player/1/messages (+4/-0)
maps/River Explorers.wmf/player/2/messages (+4/-0)
maps/River Explorers.wmf/player/3/messages (+4/-0)
maps/River Explorers.wmf/player/4/messages (+4/-0)
maps/River Explorers.wmf/player_names (+1/-1)
maps/River Explorers.wmf/player_position (+1/-1)
maps/River Explorers.wmf/port_spaces (+1/-1)
maps/River Explorers.wmf/version (+11/-0)
maps/Riverlands.wmf/elemental (+11/-9)
maps/Riverlands.wmf/extra_data (+3/-1)
maps/Riverlands.wmf/objective (+4/-0)
maps/Riverlands.wmf/player/1/messages (+4/-0)
maps/Riverlands.wmf/player/2/messages (+4/-0)
maps/Riverlands.wmf/player/3/messages (+4/-0)
maps/Riverlands.wmf/player/4/messages (+4/-0)
maps/Riverlands.wmf/player/5/messages (+4/-0)
maps/Riverlands.wmf/player/6/messages (+4/-0)
maps/Riverlands.wmf/player/7/messages (+4/-0)
maps/Riverlands.wmf/player_names (+31/-15)
maps/Riverlands.wmf/player_position (+10/-8)
maps/Riverlands.wmf/port_spaces (+7/-0)
maps/Riverlands.wmf/version (+11/-0)
maps/Swamp Island.wmf/elemental (+2/-3)
maps/Swamp Island.wmf/extra_data (+1/-1)
maps/Swamp Island.wmf/objective (+4/-0)
maps/Swamp Island.wmf/player/1/messages (+4/-0)
maps/Swamp Island.wmf/player/2/messages (+4/-0)
maps/Swamp Island.wmf/player/3/messages (+4/-0)
maps/Swamp Island.wmf/player_names (+1/-1)
maps/Swamp Island.wmf/player_position (+1/-1)
maps/Swamp Island.wmf/port_spaces (+1/-1)
maps/Swamp Island.wmf/version (+11/-0)
maps/Swamp Monks.wmf/elemental (+5/-3)
maps/Swamp Monks.wmf/extra_data (+2/-0)
maps/Swamp Monks.wmf/objective (+2/-0)
maps/Swamp Monks.wmf/player/1/messages (+1/-1)
maps/Swamp Monks.wmf/player/2/messages (+1/-1)
maps/Swamp Monks.wmf/player/3/messages (+1/-1)
maps/Swamp Monks.wmf/player/4/messages (+1/-1)
maps/Swamp Monks.wmf/player_names (+6/-0)
maps/Swamp Monks.wmf/player_position (+2/-0)
maps/Swamp Monks.wmf/port_spaces (+7/-0)
maps/Swamp Monks.wmf/version (+11/-0)
maps/The Big Lake.wmf/elemental (+10/-8)
maps/The Big Lake.wmf/extra_data (+3/-1)
maps/The Big Lake.wmf/objective (+4/-0)
maps/The Big Lake.wmf/player/1/messages (+4/-0)
maps/The Big Lake.wmf/player/2/messages (+4/-0)
maps/The Big Lake.wmf/player/3/messages (+4/-0)
maps/The Big Lake.wmf/player/4/messages (+4/-0)
maps/The Big Lake.wmf/player/5/messages (+4/-0)
maps/The Big Lake.wmf/player/6/messages (+4/-0)
maps/The Big Lake.wmf/player_names (+27/-13)
maps/The Big Lake.wmf/player_position (+9/-7)
maps/The Big Lake.wmf/port_spaces (+7/-0)
maps/The Big Lake.wmf/version (+11/-0)
maps/The Far North.wmf/elemental (+8/-3)
maps/The Far North.wmf/extra_data (+1/-1)
maps/The Far North.wmf/objective (+4/-0)
maps/The Far North.wmf/player/1/messages (+4/-0)
maps/The Far North.wmf/player/2/messages (+4/-0)
maps/The Far North.wmf/player_names (+6/-2)
maps/The Far North.wmf/player_position (+1/-1)
maps/The Far North.wmf/port_spaces (+7/-0)
maps/The Far North.wmf/version (+11/-0)
maps/The Green Plateau.wmf/elemental (+11/-9)
maps/The Green Plateau.wmf/extra_data (+3/-1)
maps/The Green Plateau.wmf/objective (+4/-0)
maps/The Green Plateau.wmf/player/1/messages (+4/-0)
maps/The Green Plateau.wmf/player/2/messages (+4/-0)
maps/The Green Plateau.wmf/player/3/messages (+4/-0)
maps/The Green Plateau.wmf/player/4/messages (+4/-0)
maps/The Green Plateau.wmf/player_names (+16/-9)
maps/The Green Plateau.wmf/player_position (+7/-5)
maps/The Green Plateau.wmf/port_spaces (+7/-0)
maps/The Green Plateau.wmf/version (+11/-0)
maps/The Oasis Triangle.wmf/elemental (+10/-8)
maps/The Oasis Triangle.wmf/extra_data (+3/-1)
maps/The Oasis Triangle.wmf/objective (+4/-0)
maps/The Oasis Triangle.wmf/player/1/messages (+4/-0)
maps/The Oasis Triangle.wmf/player/2/messages (+4/-0)
maps/The Oasis Triangle.wmf/player/3/messages (+4/-0)
maps/The Oasis Triangle.wmf/player_names (+15/-7)
maps/The Oasis Triangle.wmf/player_position (+6/-4)
maps/The Oasis Triangle.wmf/port_spaces (+7/-0)
maps/The Oasis Triangle.wmf/version (+11/-0)
maps/The Pass Through the Mountains.wmf/elemental (+5/-5)
maps/The Pass Through the Mountains.wmf/extra_data (+1/-1)
maps/The Pass Through the Mountains.wmf/objective (+4/-0)
maps/The Pass Through the Mountains.wmf/player/1/messages (+4/-0)
maps/The Pass Through the Mountains.wmf/player/2/messages (+4/-0)
maps/The Pass Through the Mountains.wmf/player_names (+6/-2)
maps/The Pass Through the Mountains.wmf/player_position (+1/-1)
maps/The Pass Through the Mountains.wmf/port_spaces (+7/-0)
maps/The Pass Through the Mountains.wmf/version (+11/-0)
maps/The Thaw.wmf/elemental (+5/-5)
maps/The Thaw.wmf/extra_data (+1/-1)
maps/The Thaw.wmf/objective (+4/-0)
maps/The Thaw.wmf/player/1/messages (+4/-0)
maps/The Thaw.wmf/player/2/messages (+4/-0)
maps/The Thaw.wmf/player/3/messages (+4/-0)
maps/The Thaw.wmf/player_names (+8/-2)
maps/The Thaw.wmf/player_position (+1/-1)
maps/The Thaw.wmf/port_spaces (+7/-0)
maps/The Thaw.wmf/version (+11/-0)
maps/Together We’re Strong.wmf/elemental (+7/-2)
maps/Together We’re Strong.wmf/extra_data (+1/-1)
maps/Together We’re Strong.wmf/objective (+1/-1)
maps/Together We’re Strong.wmf/player/1/messages (+1/-1)
maps/Together We’re Strong.wmf/player/2/messages (+1/-1)
maps/Together We’re Strong.wmf/player_names (+1/-1)
maps/Together We’re Strong.wmf/player_position (+1/-1)
maps/Together We’re Strong.wmf/port_spaces (+3/-3)
maps/Together We’re Strong.wmf/version (+11/-0)
maps/Twin Lagoons.wmf/elemental (+2/-3)
maps/Twin Lagoons.wmf/extra_data (+1/-1)
maps/Twin Lagoons.wmf/objective (+1/-1)
maps/Twin Lagoons.wmf/player/1/messages (+4/-0)
maps/Twin Lagoons.wmf/player/2/messages (+4/-0)
maps/Twin Lagoons.wmf/player_names (+1/-1)
maps/Twin Lagoons.wmf/player_position (+1/-1)
maps/Twin Lagoons.wmf/port_spaces (+26/-32)
maps/Twin Lagoons.wmf/version (+11/-0)
maps/Twinkling Waves.wmf/elemental (+2/-3)
maps/Twinkling Waves.wmf/extra_data (+1/-1)
maps/Twinkling Waves.wmf/objective (+4/-0)
maps/Twinkling Waves.wmf/player/1/messages (+4/-0)
maps/Twinkling Waves.wmf/player/2/messages (+4/-0)
maps/Twinkling Waves.wmf/player/3/messages (+4/-0)
maps/Twinkling Waves.wmf/player/4/messages (+4/-0)
maps/Twinkling Waves.wmf/player/5/messages (+4/-0)
maps/Twinkling Waves.wmf/player/6/messages (+4/-0)
maps/Twinkling Waves.wmf/player_names (+1/-1)
maps/Twinkling Waves.wmf/player_position (+1/-1)
maps/Twinkling Waves.wmf/port_spaces (+1/-1)
maps/Twinkling Waves.wmf/version (+11/-0)
maps/Volcanic Winter.wmf/elemental (+2/-3)
maps/Volcanic Winter.wmf/extra_data (+1/-1)
maps/Volcanic Winter.wmf/objective (+1/-1)
maps/Volcanic Winter.wmf/player/1/messages (+4/-0)
maps/Volcanic Winter.wmf/player/2/messages (+4/-0)
maps/Volcanic Winter.wmf/player_names (+1/-1)
maps/Volcanic Winter.wmf/player_position (+1/-1)
maps/Volcanic Winter.wmf/port_spaces (+1/-1)
maps/Volcanic Winter.wmf/version (+11/-0)
maps/Wisent Valley.wmf/elemental (+3/-3)
maps/Wisent Valley.wmf/extra_data (+1/-1)
maps/Wisent Valley.wmf/objective (+4/-0)
maps/Wisent Valley.wmf/player/1/messages (+4/-0)
maps/Wisent Valley.wmf/player/2/messages (+4/-0)
maps/Wisent Valley.wmf/player/3/messages (+4/-0)
maps/Wisent Valley.wmf/player/4/messages (+4/-0)
maps/Wisent Valley.wmf/player/5/messages (+4/-0)
maps/Wisent Valley.wmf/player_names (+12/-2)
maps/Wisent Valley.wmf/player_position (+1/-1)
maps/Wisent Valley.wmf/port_spaces (+7/-0)
maps/Wisent Valley.wmf/version (+11/-0)
scripting/win_conditions/artifacts.lua (+181/-0)
scripting/win_conditions/init.lua (+8/-7)
src/editor/ui_menus/editor_main_menu_save_map.cc (+15/-6)
src/logic/map.cc (+10/-0)
src/logic/map.h (+1/-0)
src/ui_fsmenu/launch_mpg.cc (+37/-12)
src/ui_fsmenu/launch_mpg.h (+1/-0)
src/ui_fsmenu/launch_spg.cc (+41/-14)
src/ui_fsmenu/launch_spg.h (+1/-0)
src/ui_fsmenu/mapselect.cc (+1/-0)
world/immovables/manmade/artifacts/artifact00/init.lua (+17/-0)
world/immovables/manmade/artifacts/artifact01/init.lua (+17/-0)
world/immovables/manmade/artifacts/artifact02/init.lua (+17/-0)
world/immovables/manmade/artifacts/artifact03/init.lua (+17/-0)
world/init.lua (+10/-0)
description: | updated |
Changed in widelands: | |
status: | New → Fix Committed |
milestone: | none → build19-rc1 |
Changed in widelands: | |
status: | Fix Committed → Fix Released |
> - We need a nice image (or several ones) added to the editor.
I think about a obelisk (little, broken) or plate(s) with engravings like a meander? Maybe a few different stone tablets is the best. I think from November on i find some time to make such things :-)