MantisBT - VCMI
View Issue Details
0001328VCMIMechanics - Town structurespublic2013-07-08 15:022022-04-11 17:36
Turnam 
Ivan 
normalminoralways
closedfixed 
0.93 
0.94 
0001328: Rampart Town's Treasury requires upgraded Dwarf Cottage
In Heroes 3, you can do the following in a Rampart town:
1. Build Fort
2. Build Centaur Stables
3. Build Dwarf Cottage
4. Build Miners' Guild
5. Build Treasury

If you try that in VCMI, you'll block on step 5, because you'll have to surprise to find out that you need to [i]build the Miners' Guild again[/i], and this time you have to build the upgraded Dwarf Cottage first. Apparently, "horde" buildings and "upgraded hordes" building count as separate things, so when you start a Rampart Town and look at the Treasury's prerequisites, you'll see Miner's Guild listed twice...

If you start by upgrading the Dwarf Cottage before building the Miners' Guild, then you only need to build it once.
1. Do not build Dwarf Cottage upgrade.
2. Build Miners' Guild.
3. Try to build Treasury, you can't since you need to build the Miners' Guild again.
Looking at rampart.json in the VCMI config factions, I see that apparently VCMI implements horde buildings as separate objects for both the "normal" and the "upgraded" creatures:


                "special1": { "id" : 17 },
                "horde1": { "id" : 18, "upgrades" : 31 },
                "horde1Upgr": { "id" : 19, "upgrades" : 38, "requires" : [ 18 ], "mode" : "auto" },
                "special2": { "id" : 21, "requires" : [ 17 ] },
                "special3": { "id" : 22, "requires" : [ 18, 19 ] },

I guess horde1 is Miners' Guild, horde1Upgr is the other Miners' Guild, and special3 is the Dwarven Treasury. I'm not familiar enough with the VCMI code yet, but I'm not sure that horde1Upgr should exist at all. It seems strange to imagine a situation where you'd want a city to have a different production rate for basic units and upgraded units. This doesn't look normal:
http://imgur.com/bubDkrA [^]
No tags attached.
Issue History
2013-07-08 15:02TurnamNew Issue
2013-07-08 16:17IvanNote Added: 0003737
2013-07-08 16:17IvanAssigned To => Ivan
2013-07-08 16:17IvanStatusnew => assigned
2013-07-08 20:57IvanNote Added: 0003747
2013-07-08 20:57IvanStatusassigned => resolved
2013-07-08 20:57IvanFixed in Version => 0.94
2013-07-08 20:57IvanResolutionopen => fixed
2022-04-11 17:36PovelitelStatusresolved => closed

Notes
(0003737)
Ivan   
2013-07-08 16:17   
Most of strange situations like this are due to way original H3 implements such functionality (or from our incorrect understanding of that behavior).

In this case only non-upgraded horde (id = 18) should be required, id 19 can be removed. Will fix this soon.
(0003747)
Ivan   
2013-07-08 20:57   
Fixed, rev 3442