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

Tutorial S2: When a second Shaman is recruited, say that the healing doesn't stack #4418

Merged
merged 1 commit into from
Dec 28, 2019

Conversation

stevecotton
Copy link
Contributor

No description provided.

@stevecotton stevecotton added Campaign (any) Deprecated tag, replaced with separate tags for each mainline campaign Prose Issues with prose text for the game. labels Oct 1, 2019
Copy link
Member

@jostephd jostephd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like the overall idea of explaining mechanics and strategy of multiple healers, but have some proposed changes to the flow.

speaker=$unit.id
# po: both speaker and $other_healer are elvish shamans.
# If there are allied sides then this isn't accurate, but at this stage of the tutorial allied sides haven't been introduced yet.
message= _ "Both Shaman $other_healer.name and I can heal other units. However, each unit can only receive healing from one healer — even if we’re both next to a unit then that unit will still only heal 4 hitpoints per turn."
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This uses a variable name in a translated string, which https://forums.wesnoth.org/viewtopic.php?f=8&t=11445 says not to. Is that a problem? It might be fine since it's in the nominative case?

Maybe change heal to be healed. I realize it's correct as it is, but making the change will prevent players from incorrectly reading heal as a transitive verb there, as though a unit that's adjacent to a shaman can heal other units.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point. I wonder what about # po: There's no need to use $other_healer.name in the translated string, leave it out if that makes the translation better? I've posted that question to the forums.

Will make the change to be healed.

[message]
speaker=$unit.id
# This line could be said by the other healer, but there's only one shaman portrait available, and it would be confusing to have dialog between two units with identical portraits.
message= _ "If either of us advances to become a Druid, then a unit next to both of us will receive the Druid’s advanced healing. A unit in a village will receive healing from the village, neither a Shaman nor a Druid can improve on that."
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The second thing that this line says - that villages, shamans, and druids don't stack - how about saying it as soon as the first shaman is recruited? Village healing had already been introduced by that point. That'll simplify this dialog. (By that point rest healing has also been introduced, and it does stack with other forms of healing, but I'm not sure it's worth pointing that out. Too much detail and the player won't see the forest for the trees - no pun intended.)

The fact that Druids have advanced healing is mentioned in a drive by, as though it's just reminding the player of something they already know. Maybe move it to front and center? It's also repeated in Galdrad's line just below. Maybe combine the two mentions of "Druids have advanced healing", the one in this line and the one in the next line? I don't have a concrete proposal but I can try to come up with on if you like.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When the first shaman is recruited, there's already 3 [message]s, I don't think any more information can fit in that event.

I agree completely with your second paragraph.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When the first shaman is recruited, there's already 3 [message]s, I don't think any more information can fit in that event.

Agreed. And it doesn't seem to fit in S1, either:

message= _ "There are two villages within your reach. Visiting villages is a good idea, and ending your turn on one will heal you. To a village!"

message= _ "Yes, if a unit doesn’t do anything for a turn, it will slowly heal."

Still, trying to cram too much information into a single line here won't do, either. I think it'll be best to first write down what all the points we want to make are ("multiple healers/villages don't stack", "multiple healers can be used in separate areas of the battle", etc) and then see how many of them we can make. We may have to leave one out of this conversation and find a place for it later in the scenario.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can speak about healers/villages/stacking here:

[event]
name=turn 6
[fire_event]
name=check_income
[/fire_event]
{TALK_ABOUT_LOC 11,14 ( _ "Remember to retreat your wounded units to villages. Healers can only heal 4 hitpoints at a time, while villages can heal 8 (the maximum healing for any unit).")}
[/event]

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion:

Remember to retreat your wounded units to villages. Villages heal units faster than Elvish Shamans do: a unit in a village will be healed 8 hitpoints per turn, whereas a unit next to a Shaman will only be healed 4 points per turn.

Different sources of healing are not combined. If a unit starts its turn next to multiple healers, or on a village and next to a healer, it will still be healed only once.

There are two exceptions to this rule. First, if a unit doesn't do anything for a turn, it will heal 2 hitpoints in addition to any healing it may receive from villages or healers, for a total of up to 10 hitpoints per turn. The other exception involves allies — a topic which we will introduce later.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it'll be best to first write down what all the points we want to make are

  • "multiple healers/villages don't stack"
  • "multiple healers can be used in separate areas of the battle"
  • druids heal more than shamans
  • although they don't stack, the best one is used
  • healers don't regen, but a pair of healers can heal each other
  • rest healing does stack
  • if you have a choice of which one to move, it's better to move the healer to the injured unit so that the injured unit rest-heals
  • ... but if the unit is on the front line it probably needs to retreat

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • If you have two different healers, you can move one healer from a unit and put another one next to the unit, and it'll still enjoy rest healing
  • Healers heal all units next to them, not just one
  • Healers are important to keep alive, especially those that can advance to stronger healers

I don't think we'll be able to work all these details into the scenario. We should introduce the mechanic and outline how it's usually used, but we may have to defer some of the details or specific circumstances to tutorial S3 (#4399).

On the other hand, we have several places to fit dialog in:

  • turn 6 dialog about retreating
  • recruiting the first Shaman
  • recruiting the second Shaman
  • first time Shaman/village healing happens

We can continue chatting on IRC if you prefer.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just realised that healing is well documented in the help's Gameplay section, so we can say where to look for more detail.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking at the second [message] shown when recruiting the first Shaman, I think only one of these four sentences is on-topic:

message= _ "Certain unit types have special <i>abilities</i>. Unlike traits, which usually provide small buffs or debuffs, abilities give units special behaviors that normal units do not have. In this case, the Elvish Shaman has the Heal ability, which allows her to heal allied adjacent units 4 hitpoints at the start of each turn. Unit types with abilities, especially ones like Heal, can be very useful, so be careful when sending them into battle."

I'm thinking of replacing that with this, and the warning about being careful would fit better in the first [message]'s comment about being weak.

            caption= _ "The <i>Heal</i> Ability"
            message= _ "At the start of each turn, allied units adjacent to a Shaman will recover 4 hitpoints. This is only half of the amount that a village would provide, but you rarely have a village near your front-line. The Shaman doesn’t gain experience from healing, only from combat, but advancing her is worthwhile — her second-level Elvish Druid advancement has healing equivalent to a village.

A detailed explanation of healing may be found in the help (default hotkey: <b>F1</b>), in the <i>Gameplay</i> section."

[/message]
[message]
speaker=$unit.id
# This line could be said by the other healer, but there's only one shaman portrait available, and it would be confusing to have dialog between two units with identical portraits.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You might be able to use [message]caption=, or put $other_unit's portrait on the right, or both. Or cheat and use the Elvish Lady portrait.

[/message]
[message]
speaker=$other_healer.id
message= _ "When $unit.name becomes a Druid, a unit next to both of us will still only receive one Druid’s healing. A unit in a village will receive healing from the village, neither a Shaman nor a Druid can improve on that."
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again, the first sentence here duplicates the information in the previous line. I think we could merge them, and say just once: a unit is healed by only one healer per turn. If a unit is adjacent to multiple healers, the most powerful one of them heals the unit.

(Also, there's a comma splice, but I'll put off discussing that level of detail until the flow of the dialog is settled.)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm in favour of splitting it with the first message being (current situation) and the second one being (after the next level-up).

I'm moving to having both lines said by the recruited unit, even in the case that $other_healer is already a druid with a different portrait. The idea was that the higher-level one would give a cheery "you'll gain experience" message to the new recruit, but in my attempts to rewrite it that doesn't feel useful any more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It might be hard to work such a cherry message in there, given that we have a self-imposed quota of at most three lines of dialog, and four or five different things to teach :)

@stevecotton stevecotton added the In-progress Issues for which a fix is currently being worked on. label Dec 26, 2019
@stevecotton
Copy link
Contributor Author

The branch currently includes a backport of @Earth-Cake 's #4644 and @nemaara 's difficulty adjustments, both of which I think should be backported. The map-change now affects which hex is highlighted for the "Remember to retreat your wounded units" line.

Copy link
Contributor

@nemaara nemaara left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added some text suggestions.

@@ -305,26 +310,75 @@
speaker=narrator
image=$unit.profile
caption= _ "Elvish Shaman"
message= _ "The Shaman is a fairly weak unit, but she has the ability to <i>heal</i> friendly units around her. She also has a special attack which <i>slows</i> enemies, halving the damage they do for one turn."
message= _ "The Shaman has the ability to <i>heal</i> friendly units around her. She also has a special attack which <i>slows</i> enemies, halving the damage they do for one turn. However, physically she’s weaker than the fighters and archers, so be careful when sending her into battle."
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
message= _ "The Shaman has the ability to <i>heal</i> friendly units around her. She also has a special attack which <i>slows</i> enemies, halving the damage they do for one turn. However, physically she’s weaker than the fighters and archers, so be careful when sending her into battle."
message= _ "The Shaman has the ability to <i>heal</i> friendly units around her. She also has a special attack which <i>slows</i> enemies, halving the damage they do for one turn. However, she’s physically weaker than fighters and archers, so be careful when sending her into battle."

image=wesnoth-icon.png
message= _ "Certain unit types have special <i>abilities</i>. Unlike traits, which usually provide small buffs or debuffs, abilities give units special behaviors that normal units do not have. In this case, the Elvish Shaman has the Heal ability, which allows her to heal allied adjacent units 4 hitpoints at the start of each turn. Unit types with abilities, especially ones like Heal, can be very useful, so be careful when sending them into battle."
message= _ "At the start of each turn, allied units adjacent to a Shaman will recover 4 hitpoints. This is only half of the amount that a village would provide, but you rarely have a village near your front-line. The Shaman doesn’t gain experience from healing, only from combat, but advancing her is worthwhile — her second-level Elvish Druid advancement has healing equivalent to a village.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
message= _ "At the start of each turn, allied units adjacent to a Shaman will recover 4 hitpoints. This is only half of the amount that a village would provide, but you rarely have a village near your front-line. The Shaman doesn’t gain experience from healing, only from combat, but advancing her is worthwhile — her second-level Elvish Druid advancement has healing equivalent to a village.
message= _ "At the start of each turn, allied units adjacent to a Shaman will recover 4 hitpoints, which is half the amount that a village provides. The Shaman doesn’t gain experience from healing, but advancing her is worthwhile — her second-level Druid advancement has healing equivalent to a village.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll take the "which" change, but disagree with removing the note about xp from combat - the extra words make it easier to understand.

message= _ "Certain unit types have special <i>abilities</i>. Unlike traits, which usually provide small buffs or debuffs, abilities give units special behaviors that normal units do not have. In this case, the Elvish Shaman has the Heal ability, which allows her to heal allied adjacent units 4 hitpoints at the start of each turn. Unit types with abilities, especially ones like Heal, can be very useful, so be careful when sending them into battle."
message= _ "At the start of each turn, allied units adjacent to a Shaman will recover 4 hitpoints. This is only half of the amount that a village would provide, but you rarely have a village near your front-line. The Shaman doesn’t gain experience from healing, only from combat, but advancing her is worthwhile — her second-level Elvish Druid advancement has healing equivalent to a village.

A detailed explanation of healing may be found in the help (default hotkey: <b>F1</b>), in the <i>Gameplay</i> section."
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
A detailed explanation of healing may be found in the help (default hotkey: <b>F1</b>), in the <i>Gameplay</i> section."
A detailed explanation of healing may be found in the <i>Gameplay</i> section of the help (default hotkey: <b>F1</b>)."

[message]
speaker=unit
# po: the speaker and the other healer are both level one elvish shamans
message= _ "You now have two healers. However, each unit can only receive healing from one healer — even if we’re both next to a unit then that unit will still only be healed 4 hitpoints per turn.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
message= _ "You now have two healers. However, each unit can only receive healing from one healer even if we’re both next to a unit then that unit will still only be healed 4 hitpoints per turn.
message= _ "Shaman number two, reporting in! I can heal units just like my friend, but only one of us can work at a time even if we’re both next to a unit we can only heal them 4 hitpoints per turn.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The "reporting in" sounds wrong to me.

The "only one of us can work at a time" seems more confusing to me, particularly when there are other troops next to the shamans. Consider 5 units in a line, injured, shaman, injured, shaman, injured.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we make it the narrator saying this line then?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could do, but why?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The way it's written, it doesn't sound very much like character dialogue to me. There's very little style to it, so I think that's better off for an instructor (Galdrad) or better yet, a narrator.

# po: the speaker and the other healer are both level one elvish shamans
message= _ "You now have two healers. However, each unit can only receive healing from one healer — even if we’re both next to a unit then that unit will still only be healed 4 hitpoints per turn.

If either of us advances to become a Druid, she’ll be able to heal adjacent units by 8 hitpoints per turn. A unit next to two healers is healed by the more advanced of the two."
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
If either of us advances to become a Druid, she’ll be able to heal adjacent units by 8 hitpoints per turn. A unit next to two healers is healed by the more advanced of the two."
If I advance to become a Druid, I’ll be able to heal adjacent units by 8 hitpoints per turn! A unit next to multiple healers is healed by the most advanced one."

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll take the change to "multiple", but "either of us" seems clearer to me.

[message]
speaker=unit
# po: the speaker is a shaman, but the other healer is a druid or (very unlikely) a shyde
message= _ "You now have two healers. Your Druid can heal adjacent units by 8 hitpoints per turn compared to my 4. However, each unit can only receive healing from one healer — a unit next to two healers is healed by the more advanced of the two."
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
message= _ "You now have two healers. Your Druid can heal adjacent units by 8 hitpoints per turn compared to my 4. However, each unit can only receive healing from one healer — a unit next to two healers is healed by the more advanced of the two."
message= _ "Shaman reporting in! I can heal adjacent units by 4 hitpoints per turn compared to my Druid friend’s 8. However, only one of us can work at a time — a unit next to multiple healers is healed by only the most advanced one."

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll take the change to multiple, but not the "reporting in" nor the druid friend.

[/if]
[message]
speaker=unit
message= _ "A unit in a village will receive healing from the village, and this won’t be increased by putting a healer next to the village."
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
message= _ "A unit in a village will receive healing from the village, and this won’t be increased by putting a healer next to the village."
message= _ "A unit in a village will receive healing from the village instead of from adjacent healers."

[/message]
[message]
speaker=Galdrad
message= _ "Having more than one healer will mean that they can heal each other, or you can move them to separate areas of the battlefield. If you have a choice of which unit to move, it’s better to move the healer to the injured unit, because the 2 hitpoints from rest-healing does combine with other sources of healing."
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
message= _ "Having more than one healer will mean that they can heal each other, or you can move them to separate areas of the battlefield. If you have a choice of which unit to move, it’s better to move the healer to the injured unit, because the 2 hitpoints from rest-healing does combine with other sources of healing."
message= _ "Having more than one healer allows them to heal each other or cover separate areas of the battlefield. Often, moving healers to injured units is better, because the 2 hitpoints from rest-healing does combine with other sources of healing."

@@ -782,7 +836,11 @@ Please report the bug."
name=check_income
[/fire_event]

{TALK_ABOUT_LOC 11,14 ( _ "Remember to retreat your wounded units to villages. Healers can only heal 4 hitpoints at a time, while villages can heal 8 (the maximum healing for any unit).")}
{TALK_ABOUT_LOC 16,9 ( _ "Remember to retreat your wounded units to villages. Villages heal units faster than Elvish Shamans do: a unit in a village will be healed 8 hitpoints per turn, whereas a unit next to a Shaman will only be healed 4 points per turn.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
{TALK_ABOUT_LOC 16,9 ( _ "Remember to retreat your wounded units to villages. Villages heal units faster than Elvish Shamans do: a unit in a village will be healed 8 hitpoints per turn, whereas a unit next to a Shaman will only be healed 4 points per turn.
{TALK_ABOUT_LOC 16,9 ( _ "Remember to retreat your wounded units to villages. Shamans can only heal 4 hitpoints per turn, while villages can heal them faster at 8 per turn.


Different sources of healing are generally not combined. If a unit starts its turn next to multiple healers, or on a village and next to a healer, it will still be healed only once.

Rest-healing is an exception to the rule — if a unit doesn’t do anything for a turn, it will heal 2 hitpoints in addition to any healing it may receive from villages or healers, and this does combine for a total of up to 10 hitpoints per turn.")}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Rest-healing is an exception to the rule — if a unit doesn’t do anything for a turn, it will heal 2 hitpoints in addition to any healing it may receive from villages or healers, and this does combine for a total of up to 10 hitpoints per turn.")}
Rest-healing is an exception to the rule — if a unit doesn’t do anything for a turn, it will heal 2 hitpoints in addition to any healing it may receive from villages or healers, combining for a total of up to 10 hitpoints per turn.")}

Copy link
Contributor

@nemaara nemaara left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome, looks good to me.

@stevecotton stevecotton merged commit 9e36a25 into wesnoth:1.14 Dec 28, 2019
@stevecotton stevecotton deleted the tutorial_two_shamans branch December 29, 2019 02:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Campaign (any) Deprecated tag, replaced with separate tags for each mainline campaign In-progress Issues for which a fix is currently being worked on. Prose Issues with prose text for the game.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants