Topic: new tribe: amazons
king_of_nowhere Topic Opener |
Posted at: 2019-09-13, 15:48
found another couple problems, those more serious. I am now playing the "make the desert bloom" (https://www.widelands.org/maps/to-make-the-desert-bloom/) map, to test gardening. but i see problems with water. south oof blue starting position there is a narrow water strip; I made wilderness keepers and water gatherers there, but both are unable to work. they don't recognize the water as such. on the other hand, the small pool near the blue hq works fine. this makes me think that those buildings require a corner that's fully surrounded by water. and a thin strip of water surrounded by land is not recognized as a valid target. I checked for confirmation on the dolomites map, which has narrow rivers, and i saw the same behavior; water gatherers do not find water, wilderness keepers are unable to breed fish. hunter gatherers can catch the fish until they run out, though unfortunately, this limits the options in some maps. in particular, most players in the dolomites map have only narrow rivers for water, and amazonians would be unplayable on the map Top Quote |
Nordfriese |
Posted at: 2019-09-13, 16:30
This is deliberate behaviour. The water gatherer looks for nodes where at least 1 neighbouring node is completely surrounded by water. The wilderness keeper has an error in the findspace command for fish replenishing. @hessenfarmer please do it like for atl fishbreeder there: Edited: 2019-09-13, 16:35
Top Quote |
GunChleoc |
Posted at: 2019-09-13, 17:23
Well, we got lucky and the conversion script decided to grab the amazons branch early. So, I have pushed it to GitHub early: https://github.com/widelands/widelands/tree/amazons Enjoy the new digs and post to https://www.widelands.org/forum/topic/4624/ if you need any help with it. Busy indexing nil values Top Quote |
hessenfarmer |
Posted at: 2019-09-13, 17:26
Can't we change this to find the small amounts of water by the water gatherer as well? As on the mentioned maps (e.g. Dolomites) we might ran out of water otherwise.
I did this intentionally. Of course this can be changed, but I wanted the amazon fish supply work differently from atlanteans.
that was the reason why I chose it like this I wanted to breed in emptied nodes as well. @ KoN:
just a short explanation of the behaviour described: Top Quote |
king_of_nowhere Topic Opener |
Posted at: 2019-09-13, 17:32
they didn't try to breed fish. they merely said "out of resources" and didn't come out of their huts. the wilderness keepers can keep working that way. on dolomites and similar conditions they can still produce meat, even if they won't be able to regenerate fish. but the water gatherers need to be able to get water without a node fully surrounded by it, else some maps may become unplayable Top Quote |
Nordfriese |
Posted at: 2019-09-13, 17:49
This just results in the wilderness keeper walking to nodes that never contained fish, and when he gets there the program fails because it is not allowed to replenish a resource if it was never present in the node. The check for
Reason why I did it like this is that I copied this code 1:1 from the shipwright´s Doing so I can check out now whether my git environment is functional Top Quote |
Nordfriese |
Posted at: 2019-09-13, 19:02
Seems like git is working for me Uploaded a fix (and also a merge of master, which I noticed was needed after I accidentally added the big build directory…). The water gatherer should now be using all triangles with water. Top Quote |
hessenfarmer |
Posted at: 2019-09-13, 19:36
From what I saw in the code and experienced so far it will not crash. It will replenish a random node in radius 1 if this can be replenished. this is somewhat ineffective but that was the tradeoff for being able to breed in empty nodes. For the moment I would use the code like the water gather as it could esily be changed at any time. Now I will try to setup git. wish me luck Top Quote |
Nordfriese |
Posted at: 2019-09-13, 20:05
I wasn´t talking about crashing but about the program failing Looked at the code now – true, if there is a field with replenishable fish within a radius of 1 it will be replenished, even if there are 0 fish now (provided there were ever fish there!). But as far as I can see, Good luck with git Top Quote |
hessenfarmer |
Posted at: 2019-09-13, 20:19
As far as I understood breed is an additional flag to the find resource command. resource:fish will therefore only find nodes with at least one fish as 0 fish is equivalent to no resource. When there the atlantean fishbreeder accidentally can increase a neighbour node with 0 fish to 1 as the search node code is independent of the run_breed code. the find node part is the cause for the atlantean fishbreeder needing at least 1 fish. Top Quote |