Since it’s quite a complex feature, I start a separate thread to post screenshots and test map, also to discuss problems and issues of this functionality.
There are 21 creature banks in total, which includes these plus Utopia, Crypt, Shipwreck and Derelict Ship. The Pyramid is slightly different, so I didn’t implement it yet.
At the moment we’re able to attack banks and take loot of resources, artifacts and creatures with apriopiate info window. Still, there are some glitches:
Perhaps you are compensating for two-hex creatures where none is needed? Two-hex creatures have their position as the front of the creature. In the picture the Black Dragon is standing on hex #2, with it’s back on hex #3. Had it been on the attacking side with the same position, it’s back would be on hex #1.
The creatures in top left and bottom left need no compensation for being two-hex, their position should be the same as that for single hex creatures in those areas.
As to handling ZRCBANK config file, WoG creature info is completely messed-up - you can see it on your own. There is no point to handle all cases manually by config parser or gargantuan switch in game code.
I suggest editing the config file itself to manually correct creature names and distribute it with VCMI, leaving LOD archive unused. This would also allow us to drag more info into external, configurable files.
Volunteers are welcome
I just came up with idea of adding Pyramid to the list so I could handle it altogether.
Generally it would be nice to have some other simple things like that configurable in txt files that in sod/wog are not…
For example hero specialisations, heroes starting skills etc. There even is a txt file for hero specs but it changes just names of the specs not the specs itself which imho is silly
They are not yet supported in VCMI but I’m going to do it for 0.8. If you think it could be useful, I can make a special config for it (to change one hero’s specialty to another hero’s specialty).
We already have a config for secondary skills (hero_sec_skills.txt). Primary skills are in HCTRAITS.txt (you can put changed file into /Data directory to make VCMI use it).
Nice. Should I understand that skill_ID refers to the list in vcmi_status?
What about heroID? Where can I find in VCMI the lists of skillID, heroID and spellID?
I have found only creatures list in crerefnam.txt. Is there similar lists to skills, heroes and spells?
@hero specialisations
specialisation can be done as class inherited from bonusses class
(specialisations are generally same the bonus, but they change value)
so there will be virtual function in bonus called update which does nothing for plain bonus, but updates the bonus if the bonus are in fact herospec (if herospec depends on level it stores old level and compares with present and if needed change value etc)
I had a sketch for that but I didn’t write any code
sorry for that - I should have it done long time ago
also I haved in mind bonus for hero which is autocast (handles living scrolls from wog and wog extended hero specialities) which I find would be nice placed in engine
EDIT: of course for hero specialisation there is needed a list (some config/*.txt) but the list should handle “multiple” specialisations (ie. solmyr is better caster at chain lighting AND autocast magic arrow in wog)
EDIT2: the list should have dependency field - it should match the option choosen
depndency is NONE if herospec is given for each options and eg. WOGSPECS if it is for extended wog specialities - then we have one list which catches option changes and at once not modified then
Unfortunately I have surfcontrol for this page but I will check it later. But probably there are standard lists used in Homm i.e. Heroes list in Hotraits.txt? So if all the lists used in VCMI are according to Homm lists so I have no more questions in this matter.
EDIT: if we do additional specs as bonuses we encounter a problem
ie. new bonus CREATURE_SPEC gets in fields CR No and bonus strength
it need to be updated after leveling hero - but diffrent specialities in CR has diffrient starting level and level step
so how to do that? (the easiest would be additional fields in bonuses but do we want them?)
because of topic goes to discussion of specialization
i’m bringing first part of translated FIZMIG into english
fell free to move the post to appropriate topic
here almost everything acoording to HERO SPECIALIZATIONS
edit i can’t put an attachment, sorry i’ll try later
edit manual says attachments of any size, but forum engine says size is too big , no more 256 kb, but i have 440kb, i’ll try to repack
edit - I have to remove all of images ((((
and archive now is ~50 kb, SENDING ) FizMiGe.7z (47.5 KB)
Actually HeroBonus is not a POD because of nondefault constructors, I’ve forgotten about it, but still inheritance and virtuality is not the best way to solve this problem.
I don’t think updating is necessary. We just have to know that bonus info is not enough to calculate exact impact on hero (we need info about hero, ie. level).