LOW Northern Battle - Landar recruiting shaman line

Having trouble with the game? Report issues and get help here. Read this first!

Moderator: Forum Moderators

Forum rules
Before reporting issues in this section, you must read the following topic:
Locked
woodman663
Posts: 3
Joined: January 15th, 2010, 9:24 pm

LOW Northern Battle - Landar recruiting shaman line

Post by woodman663 »

Hey there,

I'm using Mac OS 10.4.11 and Wesnoth 1.7.10. My problem is that I can't recall my old sylphs, shydes and one of my two enchantresses. As it turns out, Landar has those in his recall list. I'm attaching the savegame in case it's useful.
Attachments
LOW-Northern_Battle-Auto-Save2.gz
(63.69 KiB) Downloaded 464 times
Thrash
Posts: 223
Joined: June 25th, 2010, 1:54 pm

Re: LOW Northern Battle - Landar recruiting shaman line

Post by Thrash »

woodman663 wrote:Hey there,

I'm using Mac OS 10.4.11 and Wesnoth 1.7.10. My problem is that I can't recall my old sylphs, shydes and one of my two enchantresses. As it turns out, Landar has those in his recall list. I'm attaching the savegame in case it's useful.
Looks like as someone else figured out, the issue is that all the units recalled in Breaking the Siege end up with Landar in Northern Battle (at least that is what I see as well) and player is left with only SHAMANS not recalled in Breaking the Siege in their recall list.

I decided to use this as an excuse to learn WML and dove in trying to debug this (assuming it's a bug, would be nice to see that acknowledged). I haven't figured it out, but here's what I learned.

First the flow of unit movements that looks related:
  • In (19) Costly Revenge: all SHAMANS are stored in faeries (line 92). At victory they replaced in recall (line 104). Also at victory, Landar is placed in side 4 and 2/3 of non-loyals are put on side 4 and given role 'landar_loyal'. Other 1/3 of non-loyals are left on side 1 and given role 'kalenz_loyal' (line 198).
  • In (21) Elvish Assassins, all units with side==1, except for Anduilas, Kalenz and Cleodil, are stored into kalenz_loyals (line 66). At victory they are put back onto recall list (line 104).
  • In (22) Northern Battle, prestart, all units except SHAMANS, Kalenz, Landar and Anduilas are transferred to side 2 (line 51)
  • I don't see any relevant WML in Breaking the Siege, Hour of Glory or Council Ruling.
So that flow offers no explanation. The Costly Revenge move of units to Landar seems like the logical place for this to be happening, but I believe all the SHAMANS should be stored in faeries when the move of units to Landar happens. It also doesn't explain why the Breaking the Siege recalls only are moved (maybe this is just chance based on the 2/3 split? Seems really unlikely though.)

Looking at SVN, there was a series of commits back in September by fendrin that seems really relevant (1,2,3) and line up with the first complaint of the problem in January, but that's just speculation.

Next, I'll try modifying some saves and try to debug. Suggestions welcome.
Thrash
Posts: 223
Joined: June 25th, 2010, 1:54 pm

Re: LOW Northern Battle - Landar recruiting shaman line

Post by Thrash »

Looking in the replay files, my Enchantress is side=1 in a save just before the end of Costly Revenge, but is side=4 in the Council Ruling replay. Since Council Ruling WML doesn't seem relevant to this issue, sure seems like the WML in Costly Revenge at line 198 (using the 'steal_wearer' variable) is to blame for the defection.
Thrash
Posts: 223
Joined: June 25th, 2010, 1:54 pm

Re: LOW Northern Battle - Landar recruiting shaman line

Post by Thrash »

Thrash wrote:Looks like as someone else figured out, the issue is that all the units recalled in Breaking the Siege end up with Landar in Northern Battle (at least that is what I see as well) and player is left with only SHAMANS not recalled in Breaking the Siege in their recall list.
Errr, thank me for playing. I came to this conclusion too quickly. Looking more carefully at the recall list from Breaking the Siege and potential recalls in Northern Battle, they are not mutually exclusive. I retract this statement above.

So, some random shaman-types are going over to Landar. This actually makes the problem much simpler and now I'm all but convinced it's the steal_wearer code in Costly_Revenge causing the problem in that it's also taking shaman-types.

Next step is to figure out how to modify WML and try adding shamans to the filter for this code.
User avatar
Maiklas3000
Posts: 532
Joined: June 23rd, 2010, 10:43 am

Re: LOW Northern Battle - Landar recruiting shaman line

Post by Maiklas3000 »

Out of my 4 shydes, 3 enchantesses, and 2 shamen, Landar got 4 shydes and 2 enchantesses. Plus he got my regular men. By the last battle, my recall list was down to just four: 1 enchantress, 1 sorceress, and 2 shamen. Sucked, but I won.
Thrash
Posts: 223
Joined: June 25th, 2010, 1:54 pm

Re: LOW Northern Battle - Landar recruiting shaman line

Post by Thrash »

I've verified if I add the following to the store_unit filter for steal_wearer in my Costly Revenge saves, it fixes the problem so that all my shaman-types are then available when I hit Northern Battle.

Still not sure what is going on - I added messages to try and understand the relationship between this code and the faery unstoring, but messages in the faery unstoring don't show up.

Next I'll try modifying the .cfg file and playing the scenario from start to see if it solves the problem. If that works, I'll post a patch here.

Code: Select all

				[not]
					type="Elvish Shaman, Elvish Shyde, Elvish Enchantress, Elvish Sorceress, Elvish Sylph, Elvish Druid"
				[/not]
Thrash
Posts: 223
Joined: June 25th, 2010, 1:54 pm

Re: LOW Northern Battle - Landar recruiting shaman line

Post by Thrash »

I've confirmed the attached patch fixes LOW so that the shaman line doesn't go over to Landar.
Attachments
LOW-patch.txt
(403 Bytes) Downloaded 486 times
User avatar
tr0ll
Posts: 551
Joined: June 11th, 2006, 8:13 pm
Location: canada

Re: LOW Northern Battle - Landar recruiting shaman line

Post by tr0ll »

Thanks Thrash. Patch seems to apply ok to 1.8.4
Guess this means i have to replay Costly Revenge :augh:
dahlia
Posts: 3
Joined: September 10th, 2010, 3:24 pm

Re: LOW Northern Battle - Landar recruiting shaman line

Post by dahlia »

Sorry if this is a newbie question, but I've looked/searched all around and can't figure this out: what do I do with the patch Thrash posted above?

Context:
Started playing LOW on 1.8.3 for Windows.
Ran into this Shaman-defection bug, which is annoying... Landar has half my air force.
I've since installed 1.8.4 and replayed the previous Assassins scenario; same issue.
I downloaded the LOW-patch.txt but I don't know what to do with it, and can't find a "how to apply patches to scenarios" kind of FAQ anywhere.

If there's a standard "how-to" somewhere, a pointer would be great.

Thanks!
Anonymissimus
Inactive Developer
Posts: 2461
Joined: August 15th, 2008, 8:46 pm
Location: Germany

Re: LOW Northern Battle - Landar recruiting shaman line

Post by Anonymissimus »

Here's costly revenge with a supposed fix (untested). Replace your version with that. May please someone upload a start-of-scenario save for Costly Revenge.
Attachments
19_Costly_Revenge.cfg
(13.34 KiB) Downloaded 408 times
projects (BfW 1.12):
A Simple Campaign: campaign draft for wml startersPlan Your Advancements: mp mod
The Earth's Gut: sp campaignSettlers of Wesnoth: mp scenarioWesnoth Lua Pack: lua tags and utils
updated to 1.8 and handed over: A Gryphon's Tale: sp campaign
mich
Translator
Posts: 134
Joined: November 11th, 2008, 8:54 am
Location: Italy

Re: LOW Northern Battle - Landar recruiting shaman line

Post by mich »

Here it is. It's a little old, as you can see from the gold overlay above the loyal scout (if I remember correcly you are the one that fixed that), but it works.
Attachments
lLdW-Vendetta_a_caro_prezzo.gz
(34.02 KiB) Downloaded 378 times
Anonymissimus
Inactive Developer
Posts: 2461
Joined: August 15th, 2008, 8:46 pm
Location: Germany

Re: LOW Northern Battle - Landar recruiting shaman line

Post by Anonymissimus »

It should be fixed now in 1.8.5 and 1.9.2, so far you can use my attachment from above.
projects (BfW 1.12):
A Simple Campaign: campaign draft for wml startersPlan Your Advancements: mp mod
The Earth's Gut: sp campaignSettlers of Wesnoth: mp scenarioWesnoth Lua Pack: lua tags and utils
updated to 1.8 and handed over: A Gryphon's Tale: sp campaign
User avatar
Gambit
Loose Screw
Posts: 3266
Joined: August 13th, 2008, 3:00 pm
Location: Dynamica
Contact:

Re: LOW Northern Battle - Landar recruiting shaman line

Post by Gambit »

Was this actually committed then?
Anonymissimus
Inactive Developer
Posts: 2461
Joined: August 15th, 2008, 8:46 pm
Location: Germany

Re: LOW Northern Battle - Landar recruiting shaman line

Post by Anonymissimus »

yes, r46361
projects (BfW 1.12):
A Simple Campaign: campaign draft for wml startersPlan Your Advancements: mp mod
The Earth's Gut: sp campaignSettlers of Wesnoth: mp scenarioWesnoth Lua Pack: lua tags and utils
updated to 1.8 and handed over: A Gryphon's Tale: sp campaign
User avatar
Gambit
Loose Screw
Posts: 3266
Joined: August 13th, 2008, 3:00 pm
Location: Dynamica
Contact:

Re: LOW Northern Battle - Landar recruiting shaman line

Post by Gambit »

Awesome. Locked.
Locked