Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

initial work on a port to BfW 1.16 #36

Merged
merged 2 commits into from
Mar 25, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions ART_TODO.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@ PORTRAITS
(there's one in the ANO_art repo, but it doesn't match her usual look, so one of
the two would have to be updated)
* A winter version of Yahyazad's portrait
* Another Reme portrait
* Another Reme portrait (for the "m"-suffixed message macro for him)
* Heinric the Redbeard (enemy leader from the first scenario; can be either a City
Militia or a Lieutenant, depending on difficulty) (low priority)
* older-looking mage for the medic who heals Gawen in S01 (low priority)
* better older-looking mage for the medic who heals Gawen in S01 (low priority)
* portraits for some of the less-important units with descriptive names, e.g.
"John the Baldhead" (a peasant discoverable in S13), "Fat Bart" (an enemy
Fugitive leader attacking the Oracle in S19c), and "Robert the Hefty" (an enemy
Expand Down
5 changes: 4 additions & 1 deletion ART_authors.txt
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,10 @@ try to fix this successively.

Majid, Bor Cryne, akladian_lord, akladian_lord2, hoyre, Grekulak - Łukasz Zaręba

The previous version of Grekulak: "Fluffy!!!" <crowbar.assassin@gmail.com>
The previous version of Grekulak: "Fluffy!!!" <crowbar.assassin@gmail.com>

Medic.png is a frankenportrait (by egallager) of the Mage and Necromancer portraits
from mainline Wesnoth.

other were made by me (A.D.Danilecki). In general, if a portrait is ugly, most
likely I did it :)
Expand Down
5 changes: 4 additions & 1 deletion CHANGELOG.cfg
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
#textdomain wesnoth-A_New_Order

Changelog for Porting to 1.16 Server (i.e. 1.4.1)
* (WIP)

Changelog for 1.4.0
* Disentangled advancment paths involving Akladian leaders
* Disentangled advancement paths involving Akladian leaders
* New sprites for Akladian Homeguard line
* New sandy version of "Trapped" map for the benefit of dunefolk
* Fix unit sound effects
Expand Down
4 changes: 2 additions & 2 deletions _info.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@
dependencies="Akladian_Music"
title="A New Order"
type="campaign"
uploads=2
version="1.2.19"
uploads=3
version="1.4.0"
[/info]
10 changes: 5 additions & 5 deletions _main.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -41,21 +41,21 @@ add-ons/A_New_Order#enddef
#else
# The version number is also set many other places in the code (e.g. in ano_macros.cfg);
# be sure to check those places, as well, when updating this for a new release:
version=1.4.0
version=1.4.1
#endif
icon=data/{LDR_PATH}/images/logo_small.png
image=data/{LDR_PATH}/images/logo_large.png
first_scenario=01_Breaking_the_Circle
difficulties=EASY,NORMAL,HARD
{CAMPAIGN_DIFFICULTY EASY "data/{LDR_PATH}/images/akladian/akl-clansman.png~TC(1,magenta)" _"Trivial" () }
{CAMPAIGN_DIFFICULTY NORMAL "data/{LDR_PATH}/images/akladian/akl-warrior.png~TC(1,magenta)" _"Normal" () }
{CAMPAIGN_DIFFICULTY HARD "data/{LDR_PATH}/images/akladian/akl-shieldguard.png~TC(1,magenta)" _"Impossible" () }
{CAMPAIGN_DIFFICULTY EASY "data/{LDR_PATH}/images/akladian/akl-clansman.png~TC(1,magenta)" _"Akladian Clansman" _"Trivial" }
{CAMPAIGN_DIFFICULTY NORMAL "data/{LDR_PATH}/images/akladian/akl-warrior.png~TC(1,magenta)" _"Akladian Warrior" _"Normal" }
{CAMPAIGN_DIFFICULTY HARD "data/{LDR_PATH}/images/akladian/akl-shieldguard.png~TC(1,magenta)" _"Akladian Shieldguard" _"Impossible" }
define=ANEWORDER
description= _"The old kingdom of Wesnoth has fallen before barbarian hordes. The occupying barbarians are on the brink of civil war, the seeds of Wesnothian rebellion are kept alive by old legends, while bandits and Dunefolk mercenaries roam the land. Can Gawen Hagarthen unite these disparate factions against a common foe?

Note: This campaign contains mature themes, some of which may be unsuitable for children.

(Intermediate level, 45 scenarios. Requires BfW 1.14)
(Intermediate level, 45 scenarios. Requires BfW 1.16)
Version "+{~{LDR_PATH}/dist/VERSION}
# end_text is moved to final scenario, so that I don't have to reload the entire campaign to test changes to it
{~{LDR_PATH}/about.cfg}
Expand Down
10 changes: 6 additions & 4 deletions about.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@
comment="team coloring for all sprites"
[/entry]
[entry]
name="unsung, ott, capitol, ave, tomsik, teldar, tapik, derek, alxrem, malin keshar"
name="unsung, ott, capitol, ave, tomsik, teldar, tapik, derek, alxrem, malin keshar, oo13"
comment="bug reports, corrections of English errors"
[/entry]
[entry]
Expand Down Expand Up @@ -188,6 +188,10 @@
name="Tet"
comment="Caring for the art for 1.1.98 versions"
[/entry]
[entry]
name="Marximilian"
comment="playtesting and feedback"
[/entry]
[entry]
name=_"all others from the wesnoth forums"
[/entry]
Expand Down Expand Up @@ -215,8 +219,7 @@
[about]
title= _ "Additional information may be found within readme.txt file"
[/about]
# TODO: put these back (by unifdefing) when porting to 1.16, as the bug with Wesnoth crashing on too-long credits is fixed there:
#ifdef JOKE_CREDITS

[about]
title= _ "I can't believe you actually read this thing"
[/about]
Expand All @@ -241,6 +244,5 @@
name=_"The living proof that you may not know how to spell and still be president"
[/entry]
[/about]
#endif

#undef ANO_C_SEPARATOR
2 changes: 1 addition & 1 deletion dist/VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.4.0
1.4.1
Binary file added images/portraits/Medic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 4 additions & 2 deletions info.cfg
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
#textdomain wesnoth-A_New_Order

[info]
version="1.4.0"
uploads="3"
version="1.4.1"
uploads="0"
[/info]
13 changes: 7 additions & 6 deletions macros/ano_macros.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@

#define SET_ANO_GLOBAL_VARIABLES
# Remember to update this when making a new release:
{SET_GLOBAL_VARIABLE ANOversion 1.4.0}
{SET_GLOBAL_VARIABLE ANOversion 1.4.1}
{SET_GLOBAL_VARIABLE ANOlast_scenario 0}
{SET_GLOBAL_VARIABLE ANOmax_points_scored 0}
{SET_GLOBAL_VARIABLE ANOpreviously_scored_points 0}
Expand All @@ -144,7 +144,7 @@

#define SET_ANO_VARIABLES
# Remember to update this when making a new release:
{VARIABLE ano_version 1.4.0}
{VARIABLE ano_version 1.4.1}
{VARIABLE ano_warned yes}
{VARIABLE ano_gawen_poisoned yes}
{VARIABLE ano_assa_killed no}
Expand Down Expand Up @@ -420,7 +420,7 @@
[/filter]
[/store_unit]
#ifdef __DEBUG__
{MESSAGE Assassin () () _"getunit $x1 : $y1 : $ano_tmp.description"}
{MESSAGE Assassin () () _"getunit $x1 : $y1 : $ano_tmp.description"} # wmllint: ignore
#endif
{MESSAGE Assassin () () _"getunit $x1 : $y1 : $ano_tmp.id"}
[set_variable]
Expand Down Expand Up @@ -643,7 +643,7 @@

#define VARUNIT ARRAY INDEX UNIT
#ifdef __UNUSED__
{VARIABLE ({ARRAY}[{INDEX}].description) (${UNIT}.description)}
{VARIABLE ({ARRAY}[{INDEX}].description) (${UNIT}.description)} # wmllint: ignore
#endif
{VARIABLE ({ARRAY}[{INDEX}].id) (${UNIT}.id)}
{VARIABLE ({ARRAY}[{INDEX}].experience) (${UNIT}.experience)}
Expand Down Expand Up @@ -1026,8 +1026,9 @@
#endif

#define DEBUGMSG1 TEXT
# FIXME: check to make sure wmllint/wmlindent don't mess with the spacing here:
# Remember, when running wmllint/wmlindent, to check to make sure they don't mess with the spacing here:
{MESSAGE narrator (wesnoth-icon.png) ()
#po: trailing space is intentional here:
_"This is a debug message. If you see it, then it means I forgot to delete it from the release scenario. "+"'{TEXT}'"}
#enddef

Expand Down Expand Up @@ -1193,7 +1194,7 @@
{VARIABLE (ano_loyal[0].modifications.trait[2].id) ("loyal")}
{VARIABLE (ano_loyal[0].modifications.trait[2].name) (_"loyal")}
{VARIABLE (ano_loyal[0].modifications.trait[2].effect.apply_to) ("loyal")}
{VARIABLE (ano_loyal[0].modifications.trait[2].description) (_"Zero upkeep")}
{VARIABLE (ano_loyal[0].modifications.trait[2].description) (_"Zero upkeep")} # wmllint: ignore
{VARIABLE (ano_loyal[0].overlays) ("misc/loyal-icon.png")}
[unstore_unit]
variable=ano_loyal[0]
Expand Down
18 changes: 17 additions & 1 deletion macros/items.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
[/not]
[/filter_wml]
) items/snowshoes.png
#po: Unlike in SotBEEE, we can't assume gender here, so word this in a gender-neutral fashion:
#po: We can't assume gender here, so word this in a gender-neutral fashion:
_"$unit.name finds some snowshoes. Put them on?"
_"snowshoes^Take them"
_"snowshoes^Leave them"
Expand All @@ -29,6 +29,22 @@
image=items/snowshoes.png
description= _ "Snowshoes grant their wearers greater mobility on frozen terrain, such as snow!"
duration=forever
[filter]
x,y={X},{Y}
[/filter]
[then]
[modify_unit]
[filter]
x,y={X},{Y}
[/filter]

[trait]
id=snow_shoes
name= _ "snowshoes"
description= _ "The snowshoes allow movement on frozen terrain."
[/trait]
[/modify_unit]
[/then]
[effect]
apply_to=movement_costs
replace=true
Expand Down
35 changes: 31 additions & 4 deletions scenarios/01_Breaking_the_Circle.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@
{GOLD 120 110 100}
{INCOME 0 -1 -2}
canrecruit=yes
hitpoints={ON_DIFFICULTY 8 7 6}
hitpoints={ON_DIFFICULTY 8 7 6} # FIXME: setting his hitpoints here is pointless, since the poison just drops it to 1 anyways
side=1
[unit]
id=Lady Lorin
Expand Down Expand Up @@ -310,6 +310,8 @@
[side]
id=Rebel
name=_"Heinric the Redbeard"
# Has a bit more facial hair than the default Spearman portrait:
profile=portraits/humans/spearman-2.png # (until he gets a unique portrait, at least)
canrecruit=yes
side=2
team_name=enemy
Expand Down Expand Up @@ -396,7 +398,7 @@
name=prestart

{SET_ANO_GLOBAL_VARIABLES}
{SET_ANO_VARIABLES}
{SET_ANO_VARIABLES} # sets ano_gawen_poisoned yes

[terrain]
x=19
Expand Down Expand Up @@ -553,6 +555,11 @@
# FIXME: this fires on the very first turn, which means that setting his health earlier is pointless:
{SETVAL ("Gawen Hagarthen") (hitpoints) 1}
[/then]
[else]
#ifdef DEBUG_MODE
{DEBUGMSG1 "Gawen should always be poisoned in this scenario"}
#endif
[/else]
[/if]
[/event]

Expand All @@ -564,6 +571,10 @@
y=4
id=Gawen Hagarthen
[/filter]
[scroll_to_unit]
id=Gawen Hagarthen
[/scroll_to_unit]
[redraw][/redraw]
[if]
{CONDITION ano_gawen_poisoned equals yes}
[then]
Expand All @@ -574,10 +585,16 @@
x=16
y=4
side=2
# Oh well, I tried:
profile=portraits/Medic.png
[/unit]
[scroll_to_unit]
id=Medic
[/scroll_to_unit]
[redraw][/redraw]
{MSG_Reme _"My lady, we have found a medic!"}
{MSG_Lorin _"Underling! My son is dying. If you heal him, I will spare your life. If not, I will burn you and your family alive, do you understand?"}
# TODO: this medic should have an older-looking portrait, to match this dialogue:
# TODO: this medic should have a (better) older-looking portrait, to match this dialogue:
{MESSAGE (Medic) () (Medic) _"Don't try to intimidate me. I am too old to be afraid of death, I have no family. I will try to heal your son because of my vows as a healer, not because of your threats, Akladian lady."}
{MSG_Lorin _"Your motives are of no concern to me, just do it!"}
{CLEAR_VARIABLE ano_gawen_poisoned}
Expand All @@ -588,16 +605,26 @@
[endlevel]
result=victory
bonus=no
carryover_report=no
carryover_percentage=100
#ifdef DEBUG_MODE
carryover_report=yes
linger_mode=yes
#else
carryover_report=no
linger_mode=no
#endif
[/endlevel]
[kill]
id=Medic
fire_event=no
animate=no
[/kill]
[/then]
[else]
#ifdef DEBUG_MODE
{DEBUGMSG1 "The case where Gawen reaches this tile without being poisoned should never be reached"}
#endif
[/else]
[/if]
[/event]

Expand Down
2 changes: 2 additions & 0 deletions scenarios/02_Fighting_for_Passage.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -337,8 +337,10 @@
[/objective]
{TURNS_RUN_OUT}
#ifdef EASY
#po: EASY difficulty, so this is more of a hint:
{OBJECTIVE_NOTES _"This scenario is designed for grinding gold and EXP. Your income will increase if you use Gawen for fighting instead of recruiting, so be sure to move him off your keep and into the action!"}
#else
#po: NORMAL or HARD difficulty, so instead of being a hint, this should just be a pure description of mechanics:
{OBJECTIVE_NOTES _"Gawen's income depends on whether he is standing on his keep or not in this scenario."}
#endif
{AI_CONTROLLER_NOTE}
Expand Down
7 changes: 4 additions & 3 deletions scenarios/09_Hired_Swords.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -592,10 +592,11 @@
{VARIABLE (ano_reumario_unit.canrecruit) ("0")}
{VARIABLE (ano_reumario_unit.modifications.trait[2].id) ("loyal")}
{VARIABLE (ano_reumario_unit.modifications.trait[2].name) ("loyal")}
{VARIABLE (ano_reumario_unit.modifications.trait[2].male_name) ("loyal")} # is it necessary?
{VARIABLE (ano_reumario_unit.modifications.trait[2].effect.apply_to) ("loyal")}
{VARIABLE (ano_reumario_unit.modifications.trait[2].description) ("Zero upkeep")}
# TODO: also add the {IS_LOYAL} silver bar under his orb; not sure how to do that when
# mucking around with unit variables like this, though...
{VARIABLE (ano_reumario_unit.modifications.trait[2].description) ("Zero upkeep")} # wmllint: ignore
# WIP: borrowing this from the code to make other units loyal:
{VARIABLE (ano_reumario_unit.overlays) ("misc/loyal-icon.png")} # TODO: test
[unstore_unit]
variable=ano_reumario_unit
find_vacant=yes
Expand Down
2 changes: 1 addition & 1 deletion scenarios/10_Siege_of_Haeltin.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
{VARIABLE (ano_loyal[0].modifications.trait[2].name) (_"loyal")}
{VARIABLE (ano_loyal[0].modifications.trait[2].male_name) (_"loyal")} # is it necessary?
{VARIABLE (ano_loyal[0].modifications.trait[2].effect.apply_to) ("loyal")}
{VARIABLE (ano_loyal[0].modifications.trait[2].description) (_"Zero upkeep")}
{VARIABLE (ano_loyal[0].modifications.trait[2].description) (_"Zero upkeep")} # wmllint: ignore
{VARIABLE (ano_loyal[0].overlays) ("misc/loyal-icon.png")}

[unstore_unit]
Expand Down
8 changes: 6 additions & 2 deletions scenarios/19c_The_Oracle.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -1405,8 +1405,6 @@
{RECALL (Ruvio)}
{RECALL (Lady Lorin)}
{IF_HAVE_UNIT_ANY (Reme Carrenemoe)}
# FIXME: uh... this is a prestart event; messages don't get shown here:
{MESSAGE (Dauri Hurionen) () (Dauri Hurionen) _"Then I am doomed! My spirit will never find rest amongst my ancestors, since I fought against my king!"}
{RECALL (Reme Carrenemoe)}
{END_IF_WITHOUT_ELSE}
{TELEPORT (Lady Lorin) 5 38}
Expand Down Expand Up @@ -1490,7 +1488,13 @@
condition=lose
[/objective]
{TURNS_RUN_OUT}
#ifdef EASY
#po: EASY difficulty, so be more explicit about how things work:
{OBJECTIVE_NOTES _"The scenario will continue even if Matthias Ramon dies. It is the keep upon which he stands that requires greater protection."}
#else
#po: NORMAL or HARD difficulty, so this should just be a description of mechanics instead of having any sort of hint-like qualities:
{OBJECTIVE_NOTES _"The scenario will continue even if Matthias Ramon dies."}
#endif
[/objectives]
[/event]

Expand Down
3 changes: 1 addition & 2 deletions scenarios/23_Trapped.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -298,8 +298,7 @@
team_name=dunefolk
canrecruit=yes
side=6
# "Dune Swiftrider" can be changed to "Dune Horse Archer" for 1.15+, but to stay compatible with 1.14 it needs to stay like this:
recruit=Dune Soldier,Dune Herbalist,Dune Rover,Dune Rider,Dune Burner,Dune Rider,Dune Swordsman,Dune Spearguard,Dune Apothecary,Dune Skirmisher,Dune Explorer,Dune Sunderer,Dune Raider,Dune Swiftrider #wmllint: noconvert
recruit=Dune Soldier,Dune Herbalist,Dune Rover,Dune Rider,Dune Burner,Dune Rider,Dune Swordsman,Dune Spearguard,Dune Apothecary,Dune Skirmisher,Dune Explorer,Dune Sunderer,Dune Raider,Dune Horse Archer
{GOLD 100 120 140}
{INCOME 20 22 24}
[ai]
Expand Down
Loading