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

Lots of changes! New scenario! New portrait! Bugs fixed! #117

Merged
merged 2 commits into from
Mar 7, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
3 changes: 0 additions & 3 deletions ART_TODO.txt
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,6 @@ PORTRAITS
the two would have to be updated)
* Heinric the Redbeard (enemy leader from the first scenario; can be either a City
Militia or a Lieutenant, depending on difficulty) (low priority)
* Portrait of Kyobaine with the winter clothes she was able to buy after convincing
Gawen to give her some extra money (see {KYOBAINE_DRUID} macro in
macros/elvish_macros.cfg)
* 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
Expand Down
10 changes: 6 additions & 4 deletions ART_authors.txt
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@ from mainline Wesnoth.
ruvio_broken.png was commissioned from a Twitter user who uses the handle
@olivia_lucy46

akladian_wiseman.png, akladian_holyman.png, and akladian_wonderman.png were
commissioned from Onehourlate
akladian_wiseman.png, akladian_holyman.png, akladian_wonderman.png, and
kyobaine_winter.png were commissioned from Onehourlate

other were made by me (A.D.Danilecki). In general, if a portrait is ugly, most
likely I did it :)
Expand Down Expand Up @@ -109,7 +109,7 @@ STORY IMAGES
which I then rendered with my tablet and modified.
* ruins of weldyn, ruvio at freetown, story ruvio, story_leftme, story_cametome,
fall of freetown, haeltin_defense: Łukasz Zaręba.
Made especially for ANO :) Story_leftme was slightly retouched (changing colour
Made especially for ANO :-D Story_leftme was slightly retouched (changing color
of hair and some little touches to Lorin's face) by me, but those changes are
almost invisible.

Expand All @@ -119,4 +119,6 @@ Some images and tiles were created by Reiner "Tiles" Prokein. Snowshoes image wa
made by Mathbrush (aka brirush84) for SotBEEE. Souls are from the Default L0 Era by
MoonyDragon (aka moonymeric). Hero-leader ellipses are taken from mainline Wesnoth
and renamed so that they are used when appropriate. The halo for the "obscures"
ability is taken from The Dark Hordes.
ability is taken from The Dark Hordes. Young (level 0) saurians are taken from UMC
"Across The Ocean" by SkyOne, Inky, and Alex Jarocha-Ernst. Rancher is from UMC
"A Story of the Northlands" by zepko.
2 changes: 1 addition & 1 deletion _main.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ Version "+{~{LDR_PATH}/dist/VERSION}

{./_editor.cfg}

# wmllint: general spellings Wesnoth Wesnothian Wesnothians Elensefar lich Gweddry Mal-Ravanal Dacyn Weldyn orcish dwarvish
# wmllint: general spellings Wesnoth Wesnothian Wesnothians Elensefar lich Gweddry Mal-Ravanal Dacyn Weldyn orcish dwarvish exp
# wmllint: directory spellings Gawen Ruvio Vattin Yahyazad Akladian Akladians Darknite Darknites Grekulak Huon Ryedric Deorien Gallorae Hoyre
# wmllint: directory spellings Raedwood Caerwyn Orannon Guilcorta Okladia Okladian Carrenemoe Carrenemoes Cryne Buffin mixling Gaeltin Hyer
# wmllint: directory spellings Saoren Graeme Borraine Gwidle Easkladia Mithrandil Saorduc Oyre Mathauri Bontom Skagrrak Gauri Mavourneen
Expand Down
4 changes: 4 additions & 0 deletions about.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,10 @@
name="CelticMinstrel"
comment="WML assistance"
[/entry]
[entry]
name="Toranks"
comment="for bug reports and pull requests"
[/entry]
[entry]
name=_"all others from the Wesnoth forums"
[/entry]
Expand Down
Binary file modified images/akladian/akl-lord.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/portraits/kyobaine_winter.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
26 changes: 23 additions & 3 deletions macros/ano-14macros.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,12 @@
#enddef
#define LORIN_KAREN_COMPV
{IF ano_competition equals end}
# (already did the competition in a previous scenario)
#ifdef DEBUG_MODE
{IF_DEBUG_MODE_IS_ACTUALLY_ON}
#po: inside LORIN_KAREN_COMPV macro; this is the case where Lorin and Karen already did their killing competition in a previous scenario:
{MSGW_Gawen _"Good thing Lorin and Karen seem to have stopped being so competitive with one another; hopefully they can start to get along now..."}
{END_IF_WITHOUT_ELSE}
#endif
{ELSE}
{IF_HAVE_UNIT (Lady Lorin)}
{IF ano_competition_l greater_than $ano_competition_k}
Expand All @@ -166,18 +171,33 @@
{MESSAGE (Karen) (portraits/karen.png) (Karen)
_"That's what I meant. You have not won, great super killing machine, so you have lost."}
{ELSE}
# TODO: put something here
#ifdef DEBUG_MODE
{IF_DEBUG_MODE_IS_ACTUALLY_ON}
{DEBUGMSG1 "TODO: put something here (1)"}
{ELSE}
{DEBUGMSG1 "There should probably be dialogue for the killing competition ending in this state... (1)"}
{END_IF}
#endif
{TWO_END_IFs}
{END_IF}
{ELSE}
# TODO: put something here
#ifdef DEBUG_MODE
{IF_DEBUG_MODE_IS_ACTUALLY_ON}
{DEBUGMSG1 "TODO: put something here (2)"}
{ELSE}
{DEBUGMSG1 "There should probably be dialogue for the killing competition ending in this state... (2)"}
{END_IF}
#endif
{END_IF}
{VARIABLE ano_competition end}
{VARIABLE ano_competition_k 0}
{END_IF}
# FIXME: why is this here?
{IF ano_bug_fix equals yes}
{CLEAR_VARIABLE ano_bug_fix}
#ifdef DEBUG_MODE
{DEBUGMSG1 "Restarting the competition in an attempt to fix a bug..."}
#endif
{VARIABLE ano_competition start}
{END_IF_WITHOUT_ELSE}
#enddef
Expand Down
74 changes: 74 additions & 0 deletions macros/debug.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,77 @@
[/event]
#endif
#enddef

#define TALK_TO_UNIT
#ifdef DEBUG_MODE
[event]
name=turn 1
[set_menu_item]
description=_"say hello to..."
id=say_hello
[show_if]
[have_unit]
x,y=$x1,$y1
[/have_unit]
[/show_if]
[command]
[message]
x,y=$x1,$y1
message=_"Hello."
[/message]
[store_unit]
[filter]
x,y=$x1,$y1
[/filter]
variable=selected_unit
[/store_unit]
{MSGOPTI6 (narrator) (misc/qmark.png)
(_"Please tell me...")
(_"your name") (name)
(_"the path to your portrait") (portrait)
(_"your ID") (id)
(_"your usage") (usage)
(_"your alignment") (alignment)
(_"I changed my mind") (nvm)
}
{IF ano_opt equals name}
[message]
speaker=$selected_unit.id
message=_"My name is $selected_unit.name|."
[/message]
{ELSE_IF ano_opt equals portrait}
[message]
speaker=$selected_unit.id
message=_"The path to my portrait is $selected_unit.profile|."
[/message]
{ELSE_IF ano_opt equals id}
[message]
speaker=$selected_unit.id
message=_"My ID is $selected_unit.id|."
[/message]
{ELSE_IF ano_opt equals usage}
[message]
speaker=$selected_unit.id
message=_"My usage is $selected_unit.usage|."
[/message]
{ELSE_IF ano_opt equals alignment}
[message]
speaker=$selected_unit.id
message=_"I am $selected_unit.alignment|."
[/message]
{ELSE}
[redraw][/redraw]
{END_IF}
{FOUR_END_IFs}
{CLEAR_VARIABLE selected_unit}
[/command]
[/set_menu_item]
[/event]
[event]
name=victory
[clear_menu_item]
id=say_hello
[/clear_menu_item]
[/event]
#endif
#enddef
100 changes: 90 additions & 10 deletions macros/elvish_macros.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -110,21 +110,39 @@
{IF ano_kyobaine_recalled greater_than 4}
{IF ano_loyal_kyobaine equals false}
{VARIABLE ano_loyal_kyobaine true}
# TODO: test this:
[if]
[found_item]
id=Kyobaine_winter_cloak
[/found_item]
[or]
[variable]
name=ano_kyobaine_has_cloak
equals=yes
[/variable]
[/or]
[then]
{VARIABLE ano_kyobaine_portrait "portraits/kyobaine_winter.png"}
[/then]
[else]
{VARIABLE ano_kyobaine_portrait "portraits/kyobaine.png"}
[/else]
[/if]
#po: a more phonetic spelling of "Ahem" (noise made when clearing one's throat):
{MSGm_Gawen _"Ekhem."}
{MESSAGE (Kyobaine) (portraits/kyobaine.png) (Kyobaine) _"What?"}
{MESSAGE (Kyobaine) ($ano_kyobaine_portrait|) (Kyobaine) _"What?"}

#po: Gawen is speaking to Kyobaine, an elvish woman. He is repeating what Milildur and Elorain were earlier speaking; these strings should be similar. Elorain earlier said: My lord, I fought with you so many battles etc
{MSGm_Gawen _"Well, you fought with me so many battles..."}

{MESSAGE (Kyobaine) (portraits/kyobaine.png) () _"...Aaand?"}
{MESSAGE (Kyobaine) ($ano_kyobaine_portrait|) () _"...Aaand?"}
#po: again, see previously:
{MSGm_Gawen _"Well, you know, I thought that I should no longer treat you like a hired soldier..."}
#po: "ask me out" as in, on a date:
{MESSAGE (Kyobaine) (portraits/kyobaine.png) () _"What?!? Are you trying to ask me out or something?"}
{MESSAGE (Kyobaine) ($ano_kyobaine_portrait|) () _"What?!? Are you trying to ask me out or something?"}
{MSGm_Gawen _"...Eee?"}
{MESSAGE (Kyobaine) (portraits/kyobaine.png) () _"No offense, but... it's not like I have something against males in general. It's more like I like them less hairy. And less... human. Anything more? No? Good. Let's get back to the business. And don't forget about my 20 gold pieces."}

{MESSAGE (Kyobaine) ($ano_kyobaine_portrait|) () _"No offense, but... it's not like I have something against males in general. It's more like I like them less hairy. And less... human. Anything more? No? Good. Let's get back to the business. And don't forget about my 20 gold pieces."}
{CLEAR_VARIABLE ano_kyobaine_portrait}
{END_IF_WITHOUT_ELSE}
{END_IF_WITHOUT_ELSE}
{END_IF_WITHOUT_ELSE}
Expand All @@ -140,8 +158,22 @@
[/filter]
{VARIABLE ano_kyobaine_complained 0}

# She has to advance before she can be recalled, so her portrait always ought to be her standard one in this event
# (i.e., she can't have her winter portrait yet)
#po: Kyobaine advances to Elvish Druid
{MESSAGE (Kyobaine) (portraits/kyobaine.png) (Kyobaine) _"How on earth I am supposed to walk in these clothes during winter? It's frigging cold!"}
[if]
[have_unit]
id=Kyobaine
trait=snow_shoes
[/have_unit]
[then]
#po: Gawen speaking to Kyobaine:
{MSGW_Gawen _"But you're wearing snowshoes though."}
#po: Kyobaine speaking to Gawen:
{MESSAGE (Kyobaine) (portraits/kyobaine.png) (Kyobaine) _"Do you seriously think that helps with the fact that it's my <b><i>BARE FEET</i></b> I have strapped into them? The holes in their webbing are enormous! The snow gets right through!"}
[/then]
[/if]
[/event]

[event]
Expand All @@ -159,22 +191,70 @@
#po: The talk between Kyobaine as Elvish Druid and Gawen, during winter
{MESSAGE (Kyobaine) (portraits/kyobaine.png) (Kyobaine) _"Oooh, no. I refuse to fight in these conditions, as long as I'm clad as such."}
{MSGW_Gawen _"What do you mean? Your clothes are just fine."}
# TODO: what if she put on snowshoes in a previous scenario?
{MESSAGE (Kyobaine) (portraits/kyobaine.png) (Kyobaine) _"<i>For the spring</i>. The least you can do is to give me proper shoes. You expect me to walk in this snow <i>barefoot</i>??"}
{MSGW_Gawen _"That's ridiculous."}
{MESSAGE (Kyobaine) (portraits/kyobaine.png) (Kyobaine) _"I couldn't agree more. Call me when you have new shoes."}
[if]
[have_unit]
id=Kyobaine
trait=snow_shoes
[/have_unit]
[then]
#po: Kyobaine asks Gawen for different clothes when she's wearing snowshoes:
{MESSAGE (Kyobaine) (portraits/kyobaine.png) (Kyobaine) _"Except for the snowshoes, these are clothes <i>for the spring</i>. The least you can do is to give me a proper cloak. You expect me to fight when I'm shivering and have goosebumps??"}
{MSGW_Gawen _"That's ridiculous."}
#po: Kyobaine asks Gawen for different clothes when she's wearing snowshoes:
{MESSAGE (Kyobaine) (portraits/kyobaine.png) (Kyobaine) _"I couldn't agree more. Call me when you have a new cloak."}
[/then]
[else]
#po: the old version of Kyobaine's request to Gawen:
{MESSAGE (Kyobaine) (portraits/kyobaine.png) (Kyobaine) _"<i>For the spring</i>. The least you can do is to give me proper shoes. You expect me to walk in this snow <i>barefoot</i>??"}
{MSGW_Gawen _"That's ridiculous."}
#po: the old version of Kyobaine's request to Gawen:
{MESSAGE (Kyobaine) (portraits/kyobaine.png) (Kyobaine) _"I couldn't agree more. Call me when you have new shoes."}
[/else]
[/if]

{MSGOPTI2 (Gawen Hagarthen) (portraits/gawen_winter.png) (_"Well...")
(_"All right, how about I give you 25 gold pieces instead of 20?") (yes)
(_"All right, we will wait for the spring.") (no)}
{IF ano_opt equals yes}
{MESSAGE (Kyobaine) (portraits/kyobaine.png) (Kyobaine) _"You think you can bribe me, an elvish druid, with gold? Oh well. This will allow me to buy better winter clothes."}
# TODO: come up with new art to show Kyobaine's better winter clothes

cooljeanius marked this conversation as resolved.
Show resolved Hide resolved
[gold]
amount=15
side=1
[/gold]
[hide_unit]
id="Kyobaine"
[/hide_unit]
[modify_unit]
[filter]
id=Kyobaine
[/filter]
[object]
id=Kyobaine_winter_cloak
duration=forever
silent=yes
[effect]
apply_to=profile
portrait=portraits/kyobaine_winter.png
[/effect]
[/object]
[/modify_unit]
{VARIABLE ano_kyobaine_has_cloak yes}
[delay]
time=1000
[/delay]
{MSGW_Gawen _"Uh... she <i>is</i> coming back, isn't she?"}
[delay]
time=1000
[/delay]
[unhide_unit]
id="Kyobaine"
[/unhide_unit]
{MESSAGE (Kyobaine) (portraits/kyobaine_winter.png) (Kyobaine) _"...yes?"}
{MSGW_Gawen _"...!"}
{MESSAGE (Kyobaine) (portraits/kyobaine_winter.png) (Kyobaine) _"...why do you look so surprised? I <i>did</i> say I was going to buy better winter clothes, didn't I? I think this cloak shall do just fine."}
{MSGW_Gawen _"...yes, well, indeed! Carry on, then!"}
{MESSAGE (Kyobaine) (portraits/kyobaine_winter.png) (Kyobaine) _"Humans... their reactions can be so strange sometimes..."}
{ELSE}
{VARIABLE ano_kyobaine_complained 2}
[hide_unit]
Expand Down
18 changes: 17 additions & 1 deletion macros/messages.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,23 @@
{MESSAGE (Milildur) (portraits/milildur.png) (Milildur) ({_TEXT})}
{ELSE}
{IF_HAVE_UNIT (Kyobaine)}
{MESSAGE (Kyobaine) (portraits/kyobaine.png) (Kyobaine) ({_TEXT})}
[if]
[found_item]
id=Kyobaine_winter_cloak
[/found_item]
[or]
[variable]
name=ano_kyobaine_has_cloak
equals=yes
[/variable]
[/or]
[then]
{MESSAGE (Kyobaine) (portraits/kyobaine_winter.png) (Kyobaine) ({_TEXT})}
[/then]
[else]
{MESSAGE (Kyobaine) (portraits/kyobaine.png) (Kyobaine) ({_TEXT})}
[/else]
[/if]
{END_IF_WITHOUT_ELSE}
{END_IF}
{END_IF}
Expand Down
24 changes: 24 additions & 0 deletions macros/units.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -85,3 +85,27 @@
[/modify_unit]
[/event]
#enddef

# based on GIVE_MALIN_EXPERIENCE from DiD, except tweaked to accept arbitrary units:
#define GIVE_UNIT_EXPERIENCE ID EXP
[store_unit]
[filter]
id={ID}
[/filter]
variable=ano_gainer
[/store_unit]

{VARIABLE experience_gained {EXP}}
{VARIABLE_OP ano_gainer.experience add $experience_gained|}
[floating_text]
x,y=$ano_gainer.x,$ano_gainer.y
text="<span color='#800080'>" + _ "+$experience_gained| exp" + "</span>"
[/floating_text]
{CLEAR_VARIABLE experience_gained}

[unstore_unit]
variable=ano_gainer
[/unstore_unit]

{CLEAR_VARIABLE ano_gainer}
#enddef
Loading