World Conquest II

Discussion of all aspects of multiplayer development: unit balancing, map development, server development, and so forth.

Moderator: Forum Moderators

Post Reply
Battlecruiser_Venca
Posts: 196
Joined: June 3rd, 2009, 11:37 am
Contact:

Re: World Conquest tek (aka World Conquest II)

Post by Battlecruiser_Venca »

Is there any reason why the era is forced in the campaign except the balance? (As the 1.11.x era forcing feature was described as it should be used only if an uncompatible era makes the game unplayable at all. It shouldn't be used to force a balanced era for the scenario.) If the balance is the only reason, it should be only a recommended era in description (possibly throw a warning that you're not using a recommended era when the game starts, as I saw in some scenarios at past).
User avatar
tekelili
Posts: 1039
Joined: August 19th, 2009, 9:28 pm

Re: World Conquest tek (aka World Conquest II)

Post by tekelili »

Battlecruiser_Venca wrote:Is there any reason why the era is forced in the campaign except the balance? (As the 1.11.x era forcing feature was described as it should be used only if an uncompatible era makes the game unplayable at all. It shouldn't be used to force a balanced era for the scenario.) If the balance is the only reason, it should be only a recommended era in description (possibly throw a warning that you're not using a recommended era when the game starts, as I saw in some scenarios at past).
Yes, there are good reasons:
1- As [event] inside [era] is somewhat bugged and only works for 1st scenario of campaigns, I had to write my era events in every scenario. As those events use variables wouldnt exist in other eras, game would crash. I could try disble those events for other eras, but didnt because there are other issues.

2- In invest menu, "hire a new hero" also uses variables wouldnt exist in other era and game would crash. I dont see how I could solve this.

3- In general, World Conquest is unplayable with normal eras. There are lot of factions withouth healers that would strugle. Classic World Conquest tried to solve this creating a "custom era" in wich factions could acquire new recruits from other factions and hire repeated heroes. This "custom era" looked quite handly, as it could be easily adapted to other eras by just inyecting new factions and units in code. But my opinion of "Classic World Conquest era" is clear: It was not balanced at all. There were factions incredibily easier to play than other ones, and to make profitable acquiring new recruits players had as plan spam quite often those units. As the kind of units payers were willing to acquire as new recruits were quite limited, it leaded to games were the few units were continously spamed and in fact there were less "factions" as some of them ended recruiting exactly the same units.

4- I am not oposed to include other eras in my campaign, I wont just do the work, mainly because I have no clue how it could be balanced or even interesting. If other people do the work to create code for allow new eras, I would probably add it to my campaign if that is creator´s desire.

Edit: And of course, if someone test a given era an ensures it wouldnt crash even without code modifications, I would add it as allowed. (To allow new eras, edit macro {STR_ERAS_ALLOWED} in utils/strings/era.cfg)
Be aware English is not my first language and I could have explained bad myself using wrong or just invented words.
World Conquest II
ellyk
Posts: 6
Joined: March 27th, 2011, 2:59 pm

Re: WC II feedback

Post by ellyk »

Hi everybody!

First of all, thank you Tekelili for this version, which is a very nice change from the WC classic campaing. Now, onwards to the feeback!
I played the 1 player version nightmare difficulty until the end and succeded, however, it might be the only way i could really finish it. I used the Militia team, with lots of monsters like units...
Now, here is what I found hard on this version:
- I had to take the gold bonus each map begining
- I finished the 3rd, 4th and 5th map at the very last turn each times (dwarves aren't that fast :lol: )
- The 3rd map was probably the most difficult to overcome, not enough leveled units to face all these enemies...

And here is what I think is really great:
- Love the new graphical changes of the terrain
- The zero upkeep of non-hero units after picking an item (it made me give one item per units to have a less expensive army, so, no godlike units on the whole campaing)
- I like the training system, even more in the bonus points on the map
- The enemy units carrying an item is a great improvement too
- The trained enemy units (I have been surprised during night with a nightstalk orcish archer lv3)

It was really challenging, even with 11 dwarf lords and 5 shydes to keep a good defense line... I even had to send my Necromancer kill a drake leader on his own (with the submerge item) to not run out of time. I massively used the health training (101hp dwarvish lord without any item) and I had to buy many elvish scouts to have more and more dwarvish monsters :whistle: . That's why, I didn't recruit any elvish fighters the whole campaing...

That's it!
Hope you find that useful :)
User avatar
tekelili
Posts: 1039
Joined: August 19th, 2009, 9:28 pm

Re: World Conquest tek (aka World Conquest II)

Post by tekelili »

@ellyl: Thanks a lot for very valuable feedback. first of all: Congratulations. As far as I know, you are the first one in beat 1p version. It has even more merit, because as you pointed, this version has some lacks in balance that make it almost impossible. Next versions should be easir than one you defeated (this happened to me in 3p, beated versions harder than current one, that becomed softed to not do it too luck reliant).
- I had to take the gold bonus each map begining
- I finished the 3rd, 4th and 5th map at the very last turn each times (dwarves aren't that fast :lol: )
- The 3rd map was probably the most difficult to overcome, not enough leveled units to face all these enemies...
In 1.11 server us available next version of World Conquest II (I hope it can be enjoyed by every one soon). There I have already applied some changes that go in the way your feedback point:
- Turn limit is increased in 2p and 1p modes (1,2,3,4,6) for 2p and (2,4,6,8,12) for 1p
- I have fixed unintended low gold finish bonus in 2p and 1p. (I oversighted that Natasiel´s carryover formula was customized for equal amount of villages :oops: )
- 1p mode gets +25 gold each map
- The Militia had a little buff with a redifinition of its recruit pairs. Now that Elf Fighter is paired with Thug I expect they dont be so reliant in the acumulation of Dwarvish Fighters in recall list in order to succed, wich made their early game too weak. (I also realized few time ago that shamans are not as powerfull in WC II than in Classic WC, so I felt they were overpunished.)

I know the feeling at last map of WC II "AI has too many level 3 units" :twisted: But it is totally intended and logical. In previous maps, kill almost all your army and weak you, was almost a victory for AI; but in last map if you kill all enemy leaders with just your boss and 3 units surviving... you win. Nature of task from AI perspective is quite harder at last map, and that is why is so buffed.

Nice to hear you enjoyed terrain decoration. It takes a lot of -work-test-rework little details-, but it is a very rewarding work for me, as I also enjoy it every game :)

1p and 2p modes are marked in add on description as Alpha version. Feedback helps a lot in try to reach a Beta version ^_^
Be aware English is not my first language and I could have explained bad myself using wrong or just invented words.
World Conquest II
Battlecruiser_Venca
Posts: 196
Joined: June 3rd, 2009, 11:37 am
Contact:

Re: World Conquest tek (aka World Conquest II)

Post by Battlecruiser_Venca »

I've tried an another era with your campaign and the only bug what I get is that you don't start with any heroes and your hero pool is empty (a lua error throws at the first map when trying to create a unit with an empty type field). A possible solution of the problem is to assign a random hero pool when it's empty.
User avatar
tekelili
Posts: 1039
Joined: August 19th, 2009, 9:28 pm

Re: World Conquest tek (aka World Conquest II)

Post by tekelili »

Battlecruiser_Venca wrote:I've tried an another era with your campaign and the only bug what I get is that you don't start with any heroes and your hero pool is empty (a lua error throws at the first map when trying to create a unit with an empty type field). A possible solution of the problem is to assign a random hero pool when it's empty.
I agree with you: that would help a lot to make it more compatible. I had already thought about it, but issue is more complicated.

I feel responsable of offer a code free of bugs. If I offer another era eras as available I must be "completly sure" they wont crash game, so any other era added will be studied separately. If you want an era allowed, I need the name and a brief explanation of any dangereous wml being used or at least a description of what era is supossed to do. It would also help more extensive test. As you pointed, hero creation is an issue that I could solve, but recruit list at second map should also be tested. If you didnt have problems with empty recruit at second map, I am guessing your era didnt have recruit list of it was rebuilded for era. But this wont be always the case, so you can see why I cant allow any era just because one worked ;)

Anyway, it is very probable I will add random hero creation for empty values,,, but you know... I wont hurry. In my experience, allow new eras will cause a lot of "bug reports" from players wihining about unexpected behavior while trying use other eras, and I am really not in mod of deal with that stuff.

If my behavior to other eras looks hostile, please forgive me. I am willing to cooperate in allow them with minor codes changes. I am just scared to be considered as the one who has to do all the work and answer for bugs of such can of worms :augh:

Edit: There are also other little details, as my code has defined 5 right-click options and I think there is a limit (seven or so). Eras adding to many rightclick options will collude. And also is the issue of WoCopedia and help text that should be disabled as they would be explaing things with no sense in other era...
Be aware English is not my first language and I could have explained bad myself using wrong or just invented words.
World Conquest II
Battlecruiser_Venca
Posts: 196
Joined: June 3rd, 2009, 11:37 am
Contact:

Re: World Conquest tek (aka World Conquest II)

Post by Battlecruiser_Venca »

With normal Eras (Default, Archaic) the only issue is the empty available hero list. At the second scenario the recruit list is unchanged (as intended). So after this fix, any normal era could be marked as compatible.

I'll try some of non-normal Eras (like EoHS) later

AD right-click options: The MP modification can add some options too.

PS: I'm testing everything at 1.11.x
Battlecruiser_Venca
Posts: 196
Joined: June 3rd, 2009, 11:37 am
Contact:

Re: World Conquest tek (aka World Conquest II)

Post by Battlecruiser_Venca »

After a quick test, EoHS (as a "non-normal" era) works (except the empty hero-list bug as mentioned above for any other era). The training works, it is applied correctly to recruits (and even to summons including apprentices). At second scenario I've ended with the same recruit list as I had at the end of first as intended.

With EoHS the enemy leaders keep their unit type including attacks but they get the damage capping ability as player's wizards do.

So with this test I could say after solving the bug with empty hero list any not-so-crazy era should be compatible thus no era forcement is required.

AD Right-click options: A MP modification can add a right-click options too, so I wouldn't worry about that, any restriction will go against those looking for more challenges/fun.
User avatar
tekelili
Posts: 1039
Joined: August 19th, 2009, 9:28 pm

Re: World Conquest tek (aka World Conquest II)

Post by tekelili »

@Battlecruiser_Venca: I have been thinking a lot about this issue. There are lot of little details a should recode to make exceptions for other eras. If I understood you correctly, EoHS offers a lot of stuff that make it interesting even without offering new factions. Well... in that case, I think EoHS should be recoded as [modification] instead as [era] for BfW 1.12 to allow that kind of gameplay, wich would reduce amount of work I would have to do to nothing.

This also goes for "eras" as Dov XP mod, wich imho should be recoded as [modification]. I have have started a thread about these issues here to have more opininions :hmm:
Be aware English is not my first language and I could have explained bad myself using wrong or just invented words.
World Conquest II
User avatar
Paulomat4
Moderator Emeritus
Posts: 730
Joined: October 16th, 2012, 3:32 pm
Location: Wesmere library, probably summoning Zhangor

Re: World Conquest tek (aka World Conquest II)

Post by Paulomat4 »

as far as I know EoHS is already available as modification, isn't it? At least on the 1.12 add-on server...
Creator of Dawn of Thunder and Global Unitmarkers

"I thought Naga's used semi-automatic crossbows with incendiary thermite arrows . . . my beliefs that this race is awesome are now shattered." - Evil Earl
User avatar
tekelili
Posts: 1039
Joined: August 19th, 2009, 9:28 pm

Re: World Conquest tek (aka World Conquest II)

Post by tekelili »

Paulomat4 wrote:as far as I know EoHS is already available as modification, isn't it? At least on the 1.12 add-on server...
Thats nice, in that case it should work with WC II. My will was disallow eras until test them, but any [modification] is allowed if I understood well what allow_era do...

Edit:
@Battlecruiser_Venca: As long a [modification] doesnt do anything weird to leaders or factions, I feel responsable to try all of them working.

For [era] proposes, I think I am responsable of any [era] able to supply these code (task) be working in WC II

Code: Select all

#define WORLD_CONQUEST_II_ERA_HEROES_DEFINITIONS
[hero]
[trait_extra]
    # units not in the lists (mostly the really good ones) don't get any second trait as heroes
[/trait_extra]
[trait_extra]
    types="Goblin Spearman","Walking Corpse","Orcish Assassin","Woodsman"
    {WORLD_CONQUEST_TEK_TRAIT_LEGENDARY}
[/trait_extra]
[trait_extra]
    types=Ruffian,Ghoul,Young Ogre,Poacher,Thief,Footpad,Saurian Skirmisher,Vampire Bat,Peasant
    {WORLD_CONQUEST_TEK_TRAIT_EXPERT}
[/trait_extra]
[trait_extra]
    types=Elvish Archer,Elvish Shaman,Elvish Scout,Elvish Fighter
    {TRAIT_DEXTROUS}
[/trait_extra]
[trait_extra]
    types=Dwarvish Guardsman,Dwarvish Ulfserker,Dwarvish Thunderer,Dwarvish Scout
    {TRAIT_HEALTHY}
[/trait_extra]
[trait_extra]
    types=Naga Fighter,Wolf Rider,Orcish Grunt,Drake Glider
    {TRAIT_STRONG}
[/trait_extra]
[trait_extra]
    types=Spearman,Fencer,Cavalryman,Merman Fighter,Merman Hunter,Mermaid Initiate
    {TRAIT_RESILIENT}
[/trait_extra]
[trait_extra]
    types=Heavy Infantryman,Bowman,Skeleton,Skeleton Archer,Saurian Augur,Troll Whelp,Orcish Archer,Thug
    {TRAIT_FEARLESS}
[/trait_extra]
[/hero]

[heroes]
[Northerners]
    {WC_II_UNIT_INFO_ORCISH_GRUNT}
    founddialogue={STR_GRUNT_FOUND}
    reply={STR_HERO_REPLY}
[/Northerners]
[Northerners]
    {WC_II_UNIT_INFO_TROLL_WHELP}
    founddialogue={STR_TROLL_FOUND}
    reply={STR_HERO_REPLY}
[/Northerners]
[Northerners]
    {WC_II_UNIT_INFO_ORCISH_ARCHER}
    founddialogue={STR_ORCISH_ARCHER_FOUND}
    reply={STR_HERO_REPLY}
[/Northerners]
[Northerners]
    {WC_II_UNIT_INFO_ORCISH_ASSASSIN}
    founddialogue={STR_ASSASSIN_FOUND}
    reply={STR_HERO_REPLY}
[/Northerners]
[Northerners]
    {WC_II_UNIT_INFO_WOLF_RIDER}
    founddialogue={STR_WOLF_FOUND}
    reply={STR_HERO_REPLY}
    [alt_reply]
        race=wose
        reply={STR_WOLF_REPLY}
    [/alt_reply]
[/Northerners]
[Northerners]
    {WC_II_UNIT_INFO_ORCISH_LEADER}
    founddialogue={STR_ORCISH_LEADER_FOUND}
    reply={STR_HERO_REPLY}
[/Northerners]
[Northerners_Bonus]
    {WC_II_UNIT_INFO_NAGA_FIGHTER}
    founddialogue={STR_NAGA_FOUND}
    reply={STR_HERO_REPLY}
    [alt_reply]
        race=gryphon
        reply={STR_FISH_REPLY}
    [/alt_reply]
[/Northerners_Bonus]
[Northerners_Bonus]
    {WC_II_UNIT_INFO_GOBLIN_SPEARMAN}
    founddialogue={STR_GOBLIN_FOUND}
    reply={STR_GOBLIN_REPLY}
    [alt_reply]
        race=orc,troll,dwarf,ogre
        reply={STR_GOBLIN_REPLY_2}
    [/alt_reply]
    [alt_reply]
        race=goblin
        reply={STR_HERO_REPLY}
    [/alt_reply]
[/Northerners_Bonus]
[Rebels]
    {WC_II_UNIT_INFO_MAGE}
    founddialogue={STR_MAGE_FOUND}
    reply={STR_HERO_REPLY}
[/Rebels]
[Rebels]
    {WC_II_UNIT_INFO_ELVISH_FIGHTER}
    founddialogue={STR_ELVISH_FIGHTER_FOUND}
    reply={STR_HERO_REPLY}
[/Rebels]
[Rebels]
    {WC_II_UNIT_INFO_ELVISH_ARCHER}
    founddialogue={STR_ELVISH_ARCHER_FOUND}
    reply={STR_HERO_REPLY}
[/Rebels]
[Rebels]
    {WC_II_UNIT_INFO_ELVISH_SHAMAN}
    founddialogue={STR_SHAMAN_FOUND}
    reply={STR_HERO_REPLY}
    [alt_reply]
        race=elf,wose
        reply={STR_SHAMAN_REPLY}
    [/alt_reply]
[/Rebels]
[Rebels]
    {WC_II_UNIT_INFO_ELVISH_SCOUT}
    founddialogue={STR_ELVISH_SCOUT_FOUND}
    reply={STR_HERO_REPLY}
[/Rebels]
[Rebels]
    {WC_II_UNIT_INFO_WOSE}
    founddialogue={STR_WOSE_FOUND}
    reply={STR_HERO_REPLY}
[/Rebels]
[Rebels_Bonus]
    {WC_II_UNIT_INFO_MERMAN_HUNTER}
    founddialogue={STR_MERMAN_HUNTER_FOUND}
    reply={STR_HERO_REPLY}
    [alt_reply]
        race=gryphon
        reply={STR_FISH_REPLY}
    [/alt_reply]
[/Rebels_Bonus]
[Rebels_Bonus]
    {WC_II_UNIT_INFO_MERMAID_INITIATE}
    founddialogue={STR_MERMAID_INITIATE_FOUND}
    reply={STR_HERO_REPLY}
    [alt_reply]
        race=gryphon
        reply={STR_FISH_REPLY}
    [/alt_reply]
[/Rebels_Bonus]
[Loyalists]
    {WC_II_UNIT_INFO_CAVALRYMAN}
    founddialogue={STR_CAVALRYMAN_FOUND}
    reply={STR_HERO_REPLY}
    [alt_reply]
        gender=female
        reply={STR_HORSE_REPLY}
    [/alt_reply]
[/Loyalists]
[Loyalists]
    {WC_II_UNIT_INFO_HORSEMAN}
    founddialogue={STR_HORSEMAN_FOUND}
    reply={STR_HERO_REPLY}
    [alt_reply]
        gender=female
        reply={STR_HORSE_REPLY}
    [/alt_reply]
[/Loyalists]
[Loyalists]
    {WC_II_UNIT_INFO_SPEARMAN}
    founddialogue={STR_SPEARMAN_FOUND}
    reply={STR_HERO_REPLY}
[/Loyalists]
[Loyalists]
    {WC_II_UNIT_INFO_FENCER}
    founddialogue={STR_FENCER_FOUND}
    reply={STR_HERO_REPLY}
[/Loyalists]
[Loyalists]
    {WC_II_UNIT_INFO_HEAVY_INFANTRYMAN}
    founddialogue={STR_HEAVY_I_FOUND}
    reply={STR_HERO_REPLY}
[/Loyalists]
[Loyalists]
    {WC_II_UNIT_INFO_BOWMAN}
    founddialogue={STR_BOWMAN_FOUND}
    reply={STR_HERO_REPLY}
[/Loyalists]
[Loyalists]
    {WC_II_UNIT_INFO_SERGEANT}
    founddialogue={STR_SERGEANT_FOUND}
    reply={STR_HERO_REPLY}
[/Loyalists]
[Loyalists]
    {WC_II_UNIT_INFO_MAGE}
    founddialogue={STR_MAGE_FOUND}
    reply={STR_HERO_REPLY}
[/Loyalists]
[Loyalists_Bonus]
    {WC_II_UNIT_INFO_MERMAN_FIGHTER}
    founddialogue={STR_MERMAN_FIGHTER_FOUND}
    reply={STR_HERO_REPLY}
    [alt_reply]
        race=gryphon
        reply={STR_FISH_REPLY}
    [/alt_reply]
[/Loyalists_Bonus]
[Knalgans]
    {WC_II_UNIT_INFO_FOOTPAD}
    founddialogue={STR_FOOTPAD_FOUND}
    reply={STR_HERO_REPLY}
[/Knalgans]
[Knalgans]
    {WC_II_UNIT_INFO_DWARVISH_THUNDERER}
    founddialogue= {STR_DWARVISH_THUNDERER_FOUND}
    reply={STR_HERO_REPLY}
[/Knalgans]
[Knalgans]
    {WC_II_UNIT_INFO_DWARVISH_FIGHTER}
    founddialogue={STR_DWARVISH_FIGHTER_FOUND}
    reply={STR_HERO_REPLY}
[/Knalgans]
[Knalgans]
    {WC_II_UNIT_INFO_THIEF}
    founddialogue={STR_THIEF_FOUND}
    reply={STR_HERO_REPLY}
[/Knalgans]
[Knalgans]
    {WC_II_UNIT_INFO_DWARVISH_GUARDSMAN}
    founddialogue={STR_GUARDSMAN_FOUND}
    reply={STR_HERO_REPLY}
[/Knalgans]
[Knalgans]
    {WC_II_UNIT_INFO_POACHER}
    founddialogue={STR_POACHER_FOUND}
    reply={STR_HERO_REPLY}
[/Knalgans]
[Knalgans]
    {WC_II_UNIT_INFO_DWARVISH_ULFSERKER}
    founddialogue={STR_ULFSERKER_FOUND}
    [alt_reply]
        race=dwarf
        reply={STR_ULFSERKER_REPLY}
    [/alt_reply]
    [alt_reply]
        race=human
        reply={STR_ULFSERKER_REPLY_2}
    [/alt_reply]
    reply={STR_HERO_REPLY}
[/Knalgans]
[Knalgans]
    {WC_II_UNIT_INFO_GRYPHON_RIDER}
    founddialogue={STR_GRYPHON_FOUND}
    reply={STR_HERO_REPLY}
    [alt_reply]
        race=merman,naga
        reply={STR_GRYPHON_REPLY}
    [/alt_reply]
    [alt_reply]
        race=gryphon,bats
        reply={STR_FLYER_REPLY}
    [/alt_reply]
[/Knalgans]
[Drakes]
    {WC_II_UNIT_INFO_DRAKE_FIGHTER}
    founddialogue={STR_DRAKE_FIGHTER_FOUND}
    reply={STR_HERO_REPLY}
[/Drakes]
[Drakes]
    {WC_II_UNIT_INFO_DRAKE_CLASHER}
    founddialogue={STR_CLASHER_FOUND}
    reply={STR_HERO_REPLY}
[/Drakes]
[Drakes]
    {WC_II_UNIT_INFO_DRAKE_BURNER}
    founddialogue={STR_BURNER_FOUND}
    reply={STR_HERO_REPLY}
    [alt_reply]
        race=drake
        reply={STR_BURNER_REPLY}
    [/alt_reply]
[/Drakes]
[Drakes]
    {WC_II_UNIT_INFO_SAURIAN_AUGUR}
    founddialogue={STR_AUGUR_FOUND}
    reply={STR_HERO_REPLY}
    [alt_reply]
        race=lizard
        reply={STR_AUGUR_REPLY}
    [/alt_reply]
[/Drakes]
[Drakes]
    {WC_II_UNIT_INFO_DRAKE_GUILDER}
    founddialogue={STR_GUILDER_FOUND}
    reply={STR_HERO_REPLY}
    [alt_reply]
        race=gryphon,bats
        reply={STR_FLYER_REPLY}
    [/alt_reply]
[/Drakes]
[Drakes]
    {WC_II_UNIT_INFO_SAURIAN_SKIRMISHER}
    founddialogue={STR_SKIRMISHER_FOUND}
    reply={STR_HERO_REPLY}
[/Drakes]
[Undead]
    {WC_II_UNIT_INFO_SKELETON}
    founddialogue={STR_SKELETON_FOUND}
    reply={STR_HERO_REPLY}
[/Undead]
[Undead]
    {WC_II_UNIT_INFO_SKELETON_ARCHER}
    founddialogue={STR_SKELETON_ARCHER_FOUND}
    reply={STR_HERO_REPLY}
[/Undead]
[Undead]
    {WC_II_UNIT_INFO_DARK_ADEPT}
    founddialogue={STR_ADEPT_FOUND}
    reply={STR_HERO_REPLY}
[/Undead]
[Undead]
    {WC_II_UNIT_INFO_GHOST}
    founddialogue={STR_GHOST_FOUND}
    reply={STR_HERO_REPLY}
[/Undead]
[Undead]
    {WC_II_UNIT_INFO_GHOUL}
    founddialogue={STR_GHOUL_FOUND}
    reply={STR_GHOUL_REPLY}
    [alt_reply]
        race=undead,bats
        reply={STR_HERO_REPLY}
    [/alt_reply]
[/Undead]
[Undead_Bonus]
    {WC_II_UNIT_INFO_VAMPIRE_BAT}
    founddialogue={STR_BAT_FOUND}
    reply={STR_BAT_REPLY}
    [alt_reply]
        race=undead,bats
        reply={STR_HERO_REPLY}
    [/alt_reply]
[/Undead_Bonus]
[Undead_Bonus]
    {WC_II_UNIT_INFO_WALKING_CORPOSE}
    founddialogue={STR_ZOMBIE_FOUND}
    reply={STR_ZOMBIE_REPLY}
    [alt_reply]
        race=undead,bats
        reply={STR_HERO_REPLY}
    [/alt_reply]
[/Undead_Bonus]
[Young_Ogre]
    {WC_II_UNIT_INFO_YOUNG_OGRE}
    founddialogue={STR_OGRE_FOUND}
    reply={STR_HERO_REPLY}
    [alt_reply]
        race=ogre,troll
        reply={STR_OGRE_REPLY}
    [/alt_reply]
[/Young_Ogre]
[Thug]
    {WC_II_UNIT_INFO_THUG}
    founddialogue={STR_POACHER_FOUND}
    reply={STR_HERO_REPLY}
[/Thug]
[Bonus]
    {WC_II_UNIT_INFO_RUFFIAN}
    founddialogue={STR_RUFFIAN_FOUND}
    reply={STR_RUFFIAN_REPLY}
    [alt_reply]
        race=human
        reply={STR_HERO_REPLY}
    [/alt_reply]
[/Bonus]
[Bonus]
    {WC_II_UNIT_INFO_PEASANT}
    founddialogue={STR_RUFFIAN_FOUND}
    reply={STR_RUFFIAN_REPLY}
    [alt_reply]
        race=human
        reply={STR_HERO_REPLY}
    [/alt_reply]
[/Bonus]
[Bonus]
    {WC_II_UNIT_INFO_DWARVISH_SCOUT}
    image="units/dwarves/scout.png"
    founddialogue={STR_DWARVISH_FIGHTER_FOUND}
    reply={STR_HERO_REPLY}
[/Bonus]
[Bonus]
    {WC_II_UNIT_INFO_WOODSMAN}
    founddialogue={STR_SPEARMAN_FOUND}
    reply={STR_HERO_REPLY}
[/Bonus]
[/heroes]
#enddef

#define WCT_CLEAN_HERO_TEXT ARRAY
{FOREACH {ARRAY} clean_i}
    {CLEAR_VARIABLE {ARRAY}[$clean_i].founddialogue}
    {CLEAR_VARIABLE {ARRAY}[$clean_i].reply}
    {CLEAR_VARIABLE {ARRAY}[$clean_i].alt_reply}
{NEXT clean_i}
#enddef

#define WCT_CLEAN_HERO_INFO ARRAY
{FOREACH {ARRAY} clean_i}
    {CLEAR_VARIABLE {ARRAY}[$clean_i].image}
    {CLEAR_VARIABLE {ARRAY}[$clean_i].name}
{NEXT clean_i}
#enddef

#define WORLD_CONQUEST_II_ERA_HEROES_LIST_DEFINITIONS
    # create heroes lists for players from faction variable
    # some heroes lists or factions get extra heroes 
{FOREACH_FROM player 1 I}
    [set_variables]
        name=temp
        [split]
            list=$player[$I].faction.commanders
            key=heroes
            separator=","
        [/split]
    [/set_variables]
    {FOREACH temp j}
        {APPEND_TO player[$I].commander_list wct.heroes.$temp[$j].heroes}
    {NEXT j}

    [set_variables]
        name=temp
        [split]
            list=$player[$I].faction.deserters
            key=heroes
            separator=","
        [/split]
    [/set_variables]
    {FOREACH temp j}
        {APPEND_TO player[$I].helper_list wct.heroes.$temp[$j].heroes}
    {NEXT j}
    [set_variables]
        name=temp
        [split]
            list=$player[$I].faction.heroes
            key=heroes
            separator=","
        [/split]
    [/set_variables]
    {FOREACH temp j}
        {APPEND_TO player[$I].hero_list wct.heroes.$temp[$j].heroes}
        {APPEND_TO player[$I].hero_list wct.heroes.$temp[$j].heroes|_Bonus}
    {NEXT j}
    {WCT_CLEAN_HERO_TEXT player[$I].hero_list}
    {WCT_CLEAN_HERO_TEXT player[$I].helper_list}
    {WCT_CLEAN_HERO_INFO player[$I].helper_list}
    {WCT_CLEAN_HERO_TEXT player[$I].commander_list}
    {WCT_CLEAN_HERO_INFO player[$I].commander_list}
{NEXT I}
{CLEAR_VARIABLE temp}

    # create bonus points heroes list
{CLEAR_VARIABLE wct.heroes.Rebels[0]} #dont want 2 mages
{APPEND_TO bonus.Heroes wct.heroes.Northerners}
{APPEND_TO bonus.Heroes wct.heroes.Northerners_Bonus}
{APPEND_TO bonus.Heroes wct.heroes.Rebels}
{APPEND_TO bonus.Heroes wct.heroes.Rebels_Bonus}
{APPEND_TO bonus.Heroes wct.heroes.Loyalists}
{APPEND_TO bonus.Heroes wct.heroes.Northerners_Bonus}
{APPEND_TO bonus.Heroes wct.heroes.Knalgans}
{APPEND_TO bonus.Heroes wct.heroes.Drakes}
{APPEND_TO bonus.Heroes wct.heroes.Undead}
{APPEND_TO bonus.Heroes wct.heroes.Undead_Bonus}
{APPEND_TO bonus.Heroes wct.heroes.Young_Ogre}
{APPEND_TO bonus.Heroes wct.heroes.Thug}
{APPEND_TO bonus.Heroes wct.heroes.Bonus}
{WCT_CLEAN_HERO_INFO bonus.Heroes}
{CLEAR_VARIABLE wct.heroes}
#enddef
If would be also nice if provides this for enemies

Code: Select all

#define WORLD_CONQUEST_TEK_ENEMY_GROUP_DEFINITIONS
[group]
    id=northerners
    helper=Orcish Leader,Orcish Grunt,Orcish Archer,Orcish Assassin
    advanced_helper=Orcish Ruler,Orcish Slayer,Orcish Crossbowman,Troll Rocklobber,Troll,Orcish Warrior
    recruit=Orcish Grunt,Orcish Archer,Wolf Rider,Orcish Assassin,Troll Whelp
    recall=Orcish Ruler,Orcish Slayer,Orcish Crossbowman,Troll Rocklobber,Troll,Orcish Warrior,Goblin Pillager,Goblin Knight,Orcish Crossbowman,Troll,Orcish Warrior
    advanced_recall=Orcish Warlord,Troll Warrior,Orcish Slurbow,Orcish Sovereign,Direwolf Rider,Orcish Warlord,Troll Warrior,Orcish Slurbow 
    [leader]
        type=Orcish Warrior
        recruit=Orcish Grunt,Orcish Archer,Wolf Rider,Orcish Assassin
        advanced=Orcish Warlord
    [/leader]
    [leader]
        type=Troll
        recruit=Orcish Grunt,Orcish Archer,Wolf Rider,Troll Whelp
        advanced=Troll Warrior
    [/leader]
    [leader]
        type=Troll Rocklobber
        recruit=Orcish Grunt,Orcish Archer,Wolf Rider,Troll Whelp
        advanced=Orcish Warlord
    [/leader]
    [leader]
        type=Orcish Crossbowman
        recruit=Orcish Grunt,Orcish Archer,Wolf Rider,Orcish Assassin
        advanced=Orcish Slurbow
    [/leader]
    [leader]
        type=Orcish Slayer
        recruit=Orcish Grunt,Orcish Archer,Wolf Rider,Orcish Assassin,Naga Fighter
        advanced=Naga Myrmidon
    [/leader]
    [leader]
        type=Goblin Knight
        recruit=Goblin Spearman,Orcish Leader,Wolf Rider,Orcish Archer
        advanced=Direwolf Rider
    [/leader]
    [leader]
        type=Orcish Ruler
        recruit=Orcish Grunt,Orcish Leader,Wolf Rider,Orcish Archer
        advanced=Orcish Sovereign
    [/leader]
[/group]
[group]
    id=loyalists
    helper=Sergeant,Spearman,Bowman,Mage,Fencer,Heavy Infantryman
    advanced_helper=White Mage,Red Mage,Duelist,Longbowman,Shock Trooper,Pikeman,Swordsman,Lieutenant,Javelineer
    recruit=Spearman,Bowman,Cavalryman,Fencer,Mage
    recall=White Mage,Red Mage,Duelist,Longbowman,Shock Trooper,Pikeman,Swordsman,Lieutenant,Dragoon,Knight,Javelineer,Pikeman,Swordsman,Longbowman
    advanced_recall=General,Halberdier,Silver Mage,Iron Mauler,Master Bowman,Master at Arms,Arch Mage,Mage of Light,Paladin,Grand Knight,Cavalier,General,Halberdier,Iron Mauler,Master Bowman,Master at Arms 
    [leader]
        type=Lieutenant
        recruit=Spearman,Bowman,Cavalryman,Fencer,Mage
        advanced=General
    [/leader]
    [leader]
        type=Swordsman
        recruit=Spearman,Bowman,Cavalryman,Heavy Infantryman,Mage
        advanced=Royal Guard
    [/leader]
    [leader]
        type=Pikeman
        recruit=Spearman,Bowman,Cavalryman,Horseman,Mage
        advanced=Halberdier
    [/leader]
    [leader]
        type=Javelineer
        recruit=Spearman,Bowman,Cavalryman,Fencer,Mage
        advanced=Silver Mage
    [/leader]
    [leader]
        type=Shock Trooper
        recruit=Spearman,Mage,Cavalryman,Heavy Infantryman,Mage
        advanced=Iron Mauler
    [/leader]
    [leader]
        type=Longbowman
        recruit=Spearman,Bowman,Cavalryman,Horseman,Mage
        advanced=Master Bowman
    [/leader]
    [leader]
        type=Duelist
        recruit=Spearman,Bowman,Cavalryman,Fencer,Mage
        advanced=Master at Arms
    [/leader]
    [leader]
        type=Red Mage
        recruit=Spearman,Bowman,Peasant,Mage,Cavalryman
        advanced=Arch Mage
    [/leader]
    [leader]
        type=White Mage
        recruit=Spearman,Heavy Infantryman,Cavalryman,Mage,Bowman
        advanced=Mage of Light
    [/leader]
[/group]
[group]
    id=elves
    helper=Elvish Shaman,Elvish Fighter,Elvish Archer,Wose
    advanced_helper=Elder Wose,Elvish Sorceress,Elvish Druid,Elvish Marksman,Elvish Ranger,Elvish Hero,Elvish Captain,Elvish Lord
    recruit=Elvish Fighter,Elvish Archer,Elvish Shaman,Elvish Scout,Wose
    recall=Elder Wose,Elvish Sorceress,Elvish Druid,Elvish Marksman,Elvish Ranger,Elvish Hero,Elvish Captain,Elvish Rider
    advanced_recall=Elvish Marshal,Elvish Champion,Elvish Avenger,Elvish Sharpshooter,Elvish Shyde,Elvish Enchantress,Ancient Wose,Elvish Outrider 
    [leader]
        type=Elvish Captain
        recruit=Elvish Fighter,Elvish Archer,Elvish Shaman,Elvish Scout
        advanced=Elvish Marshal
    [/leader]
    [leader]
        type=Elvish Hero
        recruit=Elvish Fighter,Elvish Archer,Elvish Shaman,Elvish Scout
        advanced=Elvish Champion
    [/leader]
    [leader]
        type=Elvish Ranger
        recruit=Elvish Fighter,Elvish Archer,Wose,Elvish Scout
        advanced=Elvish Avenger
    [/leader]
    [leader]
        type=Elvish Marksman
        recruit=Elvish Fighter,Elvish Archer,Elvish Shaman,Elvish Scout
        advanced=Elvish Sharpshooter
    [/leader]
    [leader]
        type=Elvish Druid
        recruit=Elvish Fighter,Elvish Archer,Elvish Shaman,Elvish Scout
        advanced=Elvish Shyde
    [/leader]
    [leader]
        type=Elvish Sorceress
        recruit=Elvish Fighter,Elvish Archer,Elvish Shaman,Elvish Scout
        advanced=Elvish Enchantress
    [/leader]
    [leader]
        type=Elder Wose
        recruit=Elvish Shaman,Elvish Scout,Mage, Wose
        advanced=Ancient Wose
    [/leader]
[/group]
[group]
    id=Knalgans
    helper=Dwarvish Thunderer,Dwarvish Fighter,Dwarvish Guardsman,Dwarvish Scout
    advanced_helper=Dwarvish Stalwart,Dwarvish Thunderguard,Dwarvish Steelclad,Dwarvish Pathfinder,Rogue,Trapper
    recruit=Dwarvish Fighter,Dwarvish Thunderer,Thief,Footpad,Poacher
    recall=Dwarvish Stalwart,Dwarvish Thunderguard,Dwarvish Steelclad,Rogue,Trapper,Gryphon Master,Bandit,Outlaw,Dwarvish Stalwart,Dwarvish Thunderguard,Dwarvish Steelclad,Dwarvish Ulfserker
    advanced_recall=Dwarvish Lord,Dwarvish Dragonguard,Dwarvish Sentinel,Assassin,Huntsman,Fugitive,Highwayman,Dwarvish Lord,Dwarvish Dragonguard,Dwarvish Sentinel 
    [leader]
        type=Dwarvish Steelclad
        recruit=Dwarvish Fighter,Dwarvish Thunderer,Dwarvish Ulfserker,Dwarvish Guardsman
        advanced=Dwarvish Lord
    [/leader]
    [leader]
        type=Dwarvish Thunderguard
        recruit=Dwarvish Fighter,Dwarvish Thunderer,Gryphon Rider,Dwarvish Guardsman
        advanced=Dwarvish Dragonguard
    [/leader]
    [leader]
        type=Dwarvish Stalwart
        recruit=Dwarvish Ulfserker,Dwarvish Thunderer,Gryphon Rider,Dwarvish Guardsman
        advanced=Dwarvish Sentinel
    [/leader]
    [leader]
        type=Rogue
        recruit=Thug,Thief,Footpad,Ruffian
        advanced=Assassin
    [/leader]
    [leader]
        type=Trapper
        recruit=Thug,Thief,Poacher,Footpad
        advanced=Huntsman
    [/leader]
[/group]
[group]
    id=drakes
    helper=Drake Burner,Drake Fighter,Drake Clasher
    advanced_helper=Drake Arbiter,Drake Thrasher,Drake Warrior,Fire Drake,Drake Flare
    recruit=Drake Fighter,Drake Clasher,Drake Glider,Drake Burner,Saurian Augur
    recall=Drake Arbiter,Drake Thrasher,Drake Warrior,Fire Drake,Drake Flare,Saurian Oracle,Saurian Soothsayer,Saurian Ambusher,Drake Warrior,Drake Thrasher,Sky Drake
    advanced_recall=Drake Flameheart,Inferno Drake,Drake Blademaster,Drake Blademaster,Drake Enforcer,Drake Warden,Saurian Flanker,Saurian Flanker,Hurricane Drake
    [leader]
        type=Drake Flare
        recruit=Drake Fighter,Drake Clasher,Drake Glider,Drake Burner
        advanced=Drake Flameheart
    [/leader]
    [leader]
        type=Fire Drake
        recruit=Drake Fighter,Drake Clasher,Drake Glider,Drake Burner
        advanced=Inferno Drake
    [/leader]
    [leader]
        type=Drake Warrior
        recruit=Drake Fighter,Drake Clasher,Drake Glider,Drake Burner
        advanced=Drake Blademaster
    [/leader]
    [leader]
        type=Drake Thrasher
        recruit=Drake Fighter,Drake Clasher,Drake Glider,Drake Burner
        advanced=Drake Enforcer
    [/leader]
    [leader]
        type=Drake Arbiter
        recruit=Drake Fighter,Drake Clasher,Drake Glider,Drake Burner
        advanced=Drake Warden
    [/leader]
    [leader]
        type=Saurian Oracle
        recruit=Saurian Skirmisher,Saurian Augur,Naga Fighter,Drake Fighter
        advanced=Saurian Flanker
    [/leader]
    [leader]
        type=Saurian Soothsayer
        recruit=Saurian Skirmisher,Saurian Augur,Naga Fighter,Drake Fighter
        advanced=Hurricane Drake
    [/leader]
[/group]
[group]
    id=undead
    helper=Dark Adept,Skeleton Archer,Skeleton,Ghoul
    advanced_helper=Revenant,Deathblade,Bone Shooter,Dark Sorcerer,Necrophage
    recruit=Skeleton,Skeleton Archer,Ghost,Ghoul,Dark Adept
    recall=Revenant,Deathblade,Bone Shooter,Dark Sorcerer,Necrophage,Wraith,Shadow,Revenant,Bone Shooter,Dark Sorcerer,Necrophage
    advanced_recall=Draug,Death Knight,Necromancer,Lich,Ghast,Banebow,Spectre,Nightgaunt,Draug,Ghast,Banebow
    [leader]
        type=Revenant
        recruit=Skeleton,Skeleton Archer,Ghost,Ghoul
        advanced=Draug
    [/leader]
    [leader]
        type=Deathblade
        recruit=Skeleton,Skeleton Archer,Ghost,Ghoul
        advanced=Death Knight
    [/leader]
    [leader]
        type=Bone Shooter
        recruit=Skeleton,Skeleton Archer,Ghost,Ghoul
        advanced=Banebow
    [/leader]
    [leader]
        type=Dark Sorcerer
        recruit=Walking Corpse,Dark Adept,Ghoul,Vampire Bat
        advanced=Lich
    [/leader]
    [leader]
        type=Necrophage
        recruit=Walking Corpse,Dark Adept,Ghoul,Ghost
        advanced=Ghast
    [/leader]
[/group]
#enddef
Anyway, as you can check here I have some serious usses to take care first :augh:

Edit2: In fact I surrended, I am currently looking for another maintener.
Be aware English is not my first language and I could have explained bad myself using wrong or just invented words.
World Conquest II
Battlecruiser_Venca
Posts: 196
Joined: June 3rd, 2009, 11:37 am
Contact:

Re: World Conquest tek (aka World Conquest II)

Post by Battlecruiser_Venca »

tekelili: EoHS has both era and modification version as the era version is variant of default era but instead of default+modification has more features. And please don't restrict the eras 'cause nearly no-one era will supply the extra defs. Just give random hero pool if it's undefined, you can use the default ones or from faction's recruit lists.
User avatar
tekelili
Posts: 1039
Joined: August 19th, 2009, 9:28 pm

Re: World Conquest tek (aka World Conquest II)

Post by tekelili »

Battlecruiser_Venca wrote:tekelili: EoHS has both era and modification version as the era version is variant of default era but instead of default+modification has more features. And please don't restrict the eras 'cause nearly no-one era will supply the extra defs. Just give random hero pool if it's undefined, you can use the default ones or from faction's recruit lists.
Version 0.5.5.6 have a config option to allow all eras (just edit config.cfg and set it to yes). Scenario will assing randomly the hero lists of one WC II faction.

Take into account I did this even when add on will not work in BfW 1.12 multiplayer (a bug in generator will cause oos at second scenario). I am totally discouraged and dont want see again another WML code line in my whole life :annoyed:
Be aware English is not my first language and I could have explained bad myself using wrong or just invented words.
World Conquest II
Glowing Fish
Posts: 855
Joined: October 3rd, 2004, 4:52 am
Location: Portland, OR
Contact:

Re: World Conquest tek (aka World Conquest II)

Post by Glowing Fish »

I had some comments on 1P, but it seems that ellyk pretty much said all I wanted to say. It seems the changes you mentioned would solve the problems.

I was actually playing on Lieutenant, which might be harder than Nightmare in a way. If in Nightmare the enemy gets a lot of Level 3 units, that means they don't get as many Level 1 units. My problem with the last scenario on Lieutenant is that I literally can't kill units fast enough. I find a valley to hide in and rotate units in my front line, but doing so, I usually can only kill 6 units a turn. There is literally enemy units backed up beyond the edge of the map. The past few times I've tried the final scenario, I've cleared out the enemy by Level 35, but not had time to get kill all the enemy leaders, even with a gryphon/merman team.

Another thing about 1 player is it kind of restricts strategic choices, especially later on. Because you are going to be swarmed on all sides, the only strategies that really work are turtling in place and swapping out Dwarf Lords. I don't know if there is really much to be done about that, though.
Don't go to Glowing Fish for advice, he will say both yes and no.
User avatar
tekelili
Posts: 1039
Joined: August 19th, 2009, 9:28 pm

Re: World Conquest tek (aka World Conquest II)

Post by tekelili »

I have been thinking I could have overreacted to wich looked something impossible to solve: Players getting oos in BfW 1.12 multiplayer server due to generator bug... I guess this problem can be solved by a "simple" save/reload. Not very comfortable, but not too far from stuff we are used in multiplayer :roll:

The other big issue: a bug in fog having players not sharing vision after map1... I could find a walkaround to it, so I guess campaign is "playable" right now in Bfw 1.11.15.

I have uploaded version 0.5.6 wich applies walkaround and includes 3 new alternative maps. Have fun, I am taking a deserved holidays from development :shock:

Edit: Btw I am willing to play WC II games in BfW 1.11, would be nice have possible partners ;)
Be aware English is not my first language and I could have explained bad myself using wrong or just invented words.
World Conquest II
Post Reply