Under the Burning Suns

This is the place for discussing development of mainline campaigns, reporting bugs in them and providing overall feedback.

Moderators: Forum Moderators, Developers

Post Reply
markus_2
Posts: 30
Joined: April 4th, 2005, 7:39 am
Location: Germany

Post by markus_2 » April 5th, 2005, 11:11 am

quartex wrote:-The test desert shyde is a mistake, and shouldn't be there.
-When you ally with the dwarves you shouldn't be able to enter those northern tunnels, so so should never encounter those hostile dwarves, another bug.
Perhaps these are related. I'd assume most players wouldn't notice the shyde up there (it was a chance find for me as well). Taking the goodie (which one isn't supposed to be doing when allied with the dwarves) might set them to hostile and/or cause further unspecified problems to the code (such as dropping the "What are you doing back here little elf?" I noticed in the scenario file).
So perhaps simply removing the shyde might fix everything, without the need of going through all the dwarf code again.
-The dwarf who tells you to kill the troll leader made a directional mistake. I meant to say north, to tell the player which way he is supposed to continue.
IIRC the troll leader is in the SOUTH-EAST. :lol:
-The problem of Kaleh staying slowed in the lava cave seems really odd. I'll look into it.
I don't know enough about the code yet to make any informed speculations about this, but my uninformed speculation is that the continuous damage from the lava field might be responsible.
AFAIK this is done by designating a particular area and having a damage routine run each round, which checks for side 1 units in that area and modifies their hitpoints accordingly. Now it could be, that the assassin is coded in such a way that the "slow" effect is not removed, because the units are in the temporary storage of the lava field routine.
Alternativly, the assassin macro only removes the slowing if Kaleh kills the assassin. I had him killed by another unit.
-The Fire Phoenix is supposed to stop appearing after the troll shamans are attacked. It shouldn't keep reappearing afterwards. And I will make the lava cave easier.
Well, if it stopped once the shamans are attacked (not killed) that would make things much easier. One could simply send a shyde or star across, possibly sacrificing it in the process.
Anyway, in my game it did reappear. Perhaps because I still had units in the lava field. If you change this to make it stop once the shamans are attacked/dead, consider a slight change to the text when it respawns. "This thing just won't stay dead." doesn't give any hint that the shamans have anything to do with the matter (though I believe there is some dialogue upon entering the lava cave which hints at the shamans being behind the fire spirit.) Perhaps "They just raised another!" as a comment from a friendly unit might be helpful. Then again, I was fully expecting to end the respawning by killing the shamans, so this might be redundant and possibly even annoying.

At any rate, thanks for a great campaign and if I can help by [censored] about it in public, so much the better.

quartex
Inactive Developer
Posts: 2258
Joined: December 22nd, 2003, 4:17 am
Location: Boston, MA

Post by quartex » April 6th, 2005, 3:04 am

0.3.5 is now available on the campaign server! It should fix most of the above bugs and problems. Thanks again to aelius, bonehead, markus_2 and everyone else for all the comments.

With all the feedback I may have missed a point or two. I just realized I haven't investiagted the problem of kaleh staying slowed in the lava cavern after the "cloaked figure" is killed. So if anything still strikes you as odd, feel free to tell me.

0.3.5 changelog:

scenario 2:
-fixed bug where killing any black hand outlaw would active surrender event
-now outlaws flee when their leader is defeated instead of getting in the way

scenario 4:
-fixed bug for all heroes of scenario ending after "cloaked figure" is killed

scenario 5:
-fixed bug of lone "Test" desert shyde appearing at start
-fixed bug where if you allied with the dwarves and then moved into the two dwarf leader's caves, the northern tunnels would accidentally open up.
-fixed bug for all heroes of scenario ending after "cloaked figure" is killed

Made lava cave easier:
-Guardian Phoenix now only returns 3 turns after you kill it (2 turn on Hard difficulty)
-On Normal difficulty you only have to fight 2 troll whelps and a troll shaman on the far side of the lava, also easier on Challenging and Hard difficulty
-Once you disturb the Troll Shamans they stop bringing back the Guardian Phoenix

-fixed skirmish ability for desert sentinel and prowler
-removed loyal from random trait creation algorithm
-gave the desert star a 10% resistance to all attacks
-fixed desert star unit description
-made the desert shyde not vulnerable to impact attacks. For some strange reason the elvish shyde is more vulnerable to impact attacks than the elvish shaman and druid are.

-added [movement_costs] tags to unit files so campaign works with 0.8.12-CVS

quartex
Inactive Developer
Posts: 2258
Joined: December 22nd, 2003, 4:17 am
Location: Boston, MA

Post by quartex » April 6th, 2005, 4:53 am

I found out why Kaleh was staying slowed when he was in the lava cavern. The problem is that my function which lowers his hit points every turn (due to the heat) is also somehow causing him to remain slowed every turn.

I tried to write an event to un-slow Kaleh when the "cloaked figure" has died:

Code: Select all

[event]
name=new turn
first_time_only=no

	#after cloaked figure is dead, stop slowing Kaleh
	[if]
		[not]
		[have_unit]
		description=Cloaked Figure
		[/have_unit]
		[/not]
	
		[variable]
		name=call_assassin
		numerical_equals=1
		[/variable]

		[then]

		[object]
			[filter]
				description=Kaleh
			[/filter]
			
			id=UnSlowKaleh
			silent=yes
			
			[effect]
				apply_to=status
				remove=slowed
			[/effect]

		[/object]
		[/then]
	[/if]

[/event]
But this end-run around the problem didn't work. Kaleh become slowed again at the start of every turn. Here's the code of the event that is doing it. I know this because when I removed this event, everything works fine.

Code: Select all

[event]
name=new turn
first_time_only=no

	[store_locations]
	x=31-49,39-44,28-32
	y=81-93,94-95,84-91
	terrain=u
		[filter]
		side=1
		[/filter]
	variable=locs
	[/store_locations]

	{FOREACH locs i}

	[set_variable]
		name=temp_x
		to_variable=locs[$i].x
	[/set_variable]

	[set_variable]
		name=temp_y
		to_variable=locs[$i].y
	[/set_variable]

	[store_unit]
		[filter]
		x,y=$temp_x,$temp_y
		[/filter]
	variable=unitstats
	[/store_unit]

	[set_variable]
	name=unitstats.hitpoints
	add=$heat_damage
	[/set_variable]

	#if unitstats.hitpoints is < 1, kill unit
	[if]
		[variable]
		name=unitstats.hitpoints
		less_than=1
		[/variable]

		[then]

		[set_variable]
		name=unitstats.hitpoints
		value=1
		[/set_variable]
		
		[/then]

	[/if]

	[unstore_unit]
	variable=unitstats
	[/unstore_unit]

	{CLEAR_VARIABLE unitstats}
		
	{NEXT i}

	{CLEAR_VARIABLE locs}

[/event]
All the above event does is store the unit stats for every unit standing on the cave floor in the lava cavern. It reads the unit's hit point, decreases them, and then if the unit isn't dead, creates a new version of the unit with the lowered hitpoints. I clear the "unitstats" variable after I'm done with it. But somehow at the beginning of every turn, it's unloads a version of Kaleh that is still slowed, even though Kaleh I can make Kaleh stop being slowed during the middle of the previous turn.

I can't bypass this bug and I'm can't figure out why it's happening. For now, I'm stumped.

Mellor
Posts: 29
Joined: January 28th, 2005, 10:02 pm
Location: UK

slow Kaleh

Post by Mellor » April 6th, 2005, 5:12 am

I have also encountered a slowed Kaleh who remains slowed after encountering the assassin in Subterranean, but my encounter is in battle against the dwarves in the western passage (after the eastern passage toward the lake has been closed by the dwarves), nowhere near the lava. I'm also unsure what is causing this.

By the way, this is an excellent game. The story line is excellent and even the dialogue is good. I haven't hit the "Skip" button yet. Thanks for a great game.

quartex
Inactive Developer
Posts: 2258
Joined: December 22nd, 2003, 4:17 am
Location: Boston, MA

Post by quartex » April 6th, 2005, 6:06 am

Thanks for the kind comments Mellor. I'll investiagte this further when I get my second wind. It may be a bigger problem then just a conflict with the heat damage event. Worst comes to worst I can just not slow Kaleh, it's not a really critical part of the scenario.

claus
Posts: 186
Joined: April 4th, 2005, 5:51 am

Post by claus » April 6th, 2005, 6:08 am

My opinion:
Kaleh has an object which slows him. At the end of his turn he gets unslowed but the item is not applied again, so he is not slowed. When he gets stored and unstored the objects are applied again and he gets slowed. The same should happen with save and load. If someone makes a midscenario savegame after the encounter of the assassin and load´s it Kaleh should be slowed. (you could use some object based things to prevent save-loading :D )
Now you try to fix this with a new item which unslows him, but it looks like the unslow item is applied first (Kaleh gets unslowed first and slowed second which results in a slowed Kaleh.
Possibel solution: As long as the assassin is alive store Kaleh at the beginning of the turn, give him slow and unstore him, instead of using the object. (I do not know if it works, but i think it should)

Edit: The Shyde is floating and when she gets hit by an impact attack she falls down and gets more damage.
Last edited by claus on April 18th, 2005, 4:36 pm, edited 1 time in total.

emdot
Posts: 66
Joined: October 12th, 2004, 4:01 pm
Location: pl
Contact:

Post by emdot » April 6th, 2005, 9:36 am

Dialog and behavior when discovering tomb grotto and killing Dwarf Ermit aren't clear.
When killing Ermit after discovery of rune there should be additional dialog:

I saw the rune of the same color in cave in the south-eastern shore of the lake!

(5th scenario, of course :) )
~

js138
Posts: 145
Joined: February 23rd, 2005, 7:45 pm
Location: Cambridge
Contact:

Post by js138 » April 6th, 2005, 10:39 am

Minor gripe. You get the 'what are you doing here little elf' dialogs even when the unit which triggers them is a troll or a dwarf. This is somewhat incongruous.

Is the purple rune (near the test shyde) supposed to do something?

Also whatshername mentioned staying where she belonged with the dwarves once, during the post-troll aligned victory. Slip of the tongue perhaps? :-)

Great plot. Glad I chose the trolls the first time through though - that lava is hard work. Some more islands in it, or a wider (or second) passage to it to allow you to charge across in mass - feeding 2 units/turn into it feels like a good way to lose a bunch of units.

quartex
Inactive Developer
Posts: 2258
Joined: December 22nd, 2003, 4:17 am
Location: Boston, MA

Post by quartex » April 6th, 2005, 2:10 pm

claus wrote:My opinion:
Kaleh has an object which slows him. At the beginning of a turn he gets unslowed but the item is not applied again, so he is not slowed. When he gets stored and unstored the objects are applied again and he gets slowed. The same should happen with save and load. If someone makes a midscenario savegame after the encounter of the assassin and load´s it Kaleh should be slowed. (you could use some object based things to prevent save-loading :D )
Now you try to fix this with a new item which unslows him, but it looks like the unslow item is applied first (Kaleh gets unslowed first and slowed second which results in a slowed Kaleh.
Possibel solution: As long as the assassin is alive store Kaleh at the beginning of the turn, give him slow and unstore him, instead of using the object. (I do not know if it works, but i think it should)

Edit: The Shyde is floating and when she gets hit by an impact attack she falls down and gets more damage.
I tried to slow Kaleh by changing his unit statistics, but I don't think it is possible. If you look in a savefile I think that info is stored inside the [status] tags. Is it possible to slow or unslow a unit using [store_unit] and editing the unit stats?

The desert shyde violates the rule of wesnoth that units shall not be forced to get worse they the level. If a player is fighting a lot of trolls, he might not want to advance his elvish druid, becuase she will become more vulnerable to impact attacks. This is bad becuase we never want a situation where a player has to try to keep a unit from gaining experience.
Last edited by quartex on April 6th, 2005, 2:17 pm, edited 1 time in total.

quartex
Inactive Developer
Posts: 2258
Joined: December 22nd, 2003, 4:17 am
Location: Boston, MA

Post by quartex » April 6th, 2005, 2:14 pm

emdot, js138, I realize that by now everyone knows about it, but the purple rune encounter is supposed to be a secret, which is why what ylou are supposed to do is intentionally not made obvious.

js138
Posts: 145
Joined: February 23rd, 2005, 7:45 pm
Location: Cambridge
Contact:

Post by js138 » April 6th, 2005, 2:25 pm

I don't mind it being non-obvious - I was more asking whether it worked or not. Given the proximity of it to certain other test features, I wasn't sure if it was a test leftover or whether it was meant to work but I'd not found the correct mojo.

If it works, I'll investigate further. If not, I won't spend time on it.

Mellor
Posts: 29
Joined: January 28th, 2005, 10:02 pm
Location: UK

Kaleh's Speed and Loss of Gold after Talking with Trolls

Post by Mellor » April 6th, 2005, 2:43 pm

Could the "speed" ring that Kaleh takes in Descending into the Darkness be a cause of the problem of his slowing in Subterranean Struggle? I think it is essential that Kaleh have a movement of 6 (particularly in the caves). Could Kaleh have a movement of 6 from the beginning of the campaign?

Also, after the pure dialogue scenario Talking with Trolls, 20% of gold is lost. I don't recall similar losses in any other pure dialogue scenarios.

One last comment: A Dwarvish Explorer moves faster over open ground than the fastest Elf on foot. Does that seem strange?

quartex
Inactive Developer
Posts: 2258
Joined: December 22nd, 2003, 4:17 am
Location: Boston, MA

Re: Kaleh's Speed and Loss of Gold after Talking with Trolls

Post by quartex » April 6th, 2005, 3:07 pm

Mellor wrote:Could the "speed" ring that Kaleh takes in Descending into the Darkness be a cause of the problem of his slowing in Subterranean Struggle? I think it is essential that Kaleh have a movement of 6 (particularly in the caves). Could Kaleh have a movement of 6 from the beginning of the campaign?
Good idea, but no. When I removed the event that does heat damage to Kaleh each turn, the slowness disappears as usual.
Also, after the pure dialogue scenario Talking with Trolls, 20% of gold is lost. I don't recall similar losses in any other pure dialogue scenarios.

One last comment: A Dwarvish Explorer moves faster over open ground than the fastest Elf on foot. Does that seem strange?
I was trying to siphon off some of the players' excess gold, but I suppose it is a bit unfair. I changes it so you don't lose 20% gold.

A dwarvish explorer moves faster underground than an elf could. You'll notice that a quick elvish hunter could move 7 spaces out in the desert as well. Don't worry the dwarves never go aboveground so this won't be a problem for other terrain. I could go and edit the dwarvish explorer's movement cost for forest,hills,mountains, etc. but since he'll never see those terrains, it seems unnecessary. Since he's a custom unit, I've customized his stats for this scenario. Feel free to edit the stats if you every want to use him too.

quartex
Inactive Developer
Posts: 2258
Joined: December 22nd, 2003, 4:17 am
Location: Boston, MA

Post by quartex » April 6th, 2005, 4:24 pm

I think I have finally solved the problem of Kaleh remaining slowed in the lava cavern. It ain't pretty, but it works. Unfortunately the campaign server keeps timing out when I upload the new version, so I have to post it on my webpage instead. You can find version 0.3.6 here:

http://members.lycos.co.uk/quartex/

Scenario 5:
-fixed bug with Kaleh staying slowed after killing the "cloaked figure" when he is in the lava cave
-lowered dwarf pathfinder/explorer movement down to 6
-now you don't lose 20% of your gold at the end of scenario 6

claus
Posts: 186
Joined: April 4th, 2005, 5:51 am

Post by claus » April 6th, 2005, 5:01 pm

I still believe that the slow bug is caused by the use of [store_unit], [unstore_unit] and slowing with an object (instead of [store_unit], [unstore_unit] you can use save, load to create the bug (I am absolutly sure that a unit with an object that slows gets slowed after loading a save with it )). Slowed="on/off" is inside the [status] tag in savefiles and [store_unit] saves the complete unit (with the [status] tag) to the variable used inside it. Using this for changing slowed you have to do:
[store_unit] ... variable=somename [/store_unit]
[set_variable]
name=somename.status.slowed
value="on"
[/set_variable]
[unstore_unit] variable=somename [/unstore_unit]
I could not find this in the WML-Wiki pages. (Someone else should put it there)
I tested it with stone (editing a Valley of Statues (HttT) save) and managed to unstone a unit by changing somename.status.stone to "off", so it should work.

Edit: Tested it with slowed and it works. (wesnoth 0.8.11 windows)
Last edited by claus on April 13th, 2005, 2:28 pm, edited 2 times in total.

Post Reply