Expanded Mercenaries

This might make it too easy to build the Grand Menagerie...

Though hiring one of those Giant Monkeys would be fun ;-)

Idea to new promotion:
Untamableness
- Unit cannot be converted (.. or this promotion isn't deleted after conversion)
- Unit cannot be dominated (.. or this promotion isn't deleted after dominantion)
- Unit cannot be added to city (This maybe needs some python)
- All hired animal units started with this promotion

Another solution is to create identical unit as animal, but with another name... (But that isn't as elegant as Untamableness :)
 
Will you be able to graft one of these mercenaries onto a Flesh Golem? And would you still need to pay them after being grafted?
 
Ok, I've found the problem ...
I have installed only version alpha version for FfH patch B ... but it requires also alpha version for FfH patch A ... (You could write it on the first post)
Spoiler :

I have little problem with interface in alpha ... resp. I have no interface in alpha
Maybe I see reason

You are including some classes (CvMercenaryChooser, RandomMercenaryList, MercenaryFunctions), but I don't see definitions nor file anywhere...
Spoiler :

(Thats tree of Assets in archive Expanded Mercenaries_alpha_v2b.zip)
anw@amiloxi2428:~/Desktop/exp_merc_alpha_v2b$ ls -R
.:
Assets

./Assets:
XML python

./Assets/XML:
Civilizations Units

./Assets/XML/Civilizations:
CIV4UnitArtStyleTypeInfos.xml

./Assets/XML/Units:
CIV4PromotionInfos.xml CIV4SpellInfos.xml

./Assets/python:
CvEventManager.py Screens entrypoints

./Assets/python/Screens:
CvScreenEnums.py

./Assets/python/entrypoints:
CvScreensInterface.py CvSpellInterface.py


Possible problems:
- In my operating system / win compatibility layer
- You forget add something

Unit ideas:
Sharpeye: living unit with Sentry 1+2, can see Invisible
Scare: non-demon unit with Fear

It could be nice, when anybody who get Currency get Guild of the Nine in one city, but only first one gets Headquarters. Headquarters should have some advantage.
 
Ok, I've found the problem ...
I have installed only version alpha version for FfH patch B ... but it requires also alpha version for FfH patch A ... (You could write it on the first post)

- You forget add something

Yep, I forgot the mercenaries folder. If you install both A and B it will work. When I get back home (i'm in Chicago this week) I will fix it.

Unit ideas:
Sharpeye: living unit with Sentry 1+2, can see Invisible
Scare: non-demon unit with Fear
I'll add these to the list of suggestions up top.

It could be nice, when anybody who get Currency get Guild of the Nine in one city, but only first one gets Headquarters. Headquarters should have some advantage.

I'm working on this. HQ is free, I plan to make an event that spreads to your city if you pay a certain fee to the guild. Also, having the HQ in the city increases the chances of mercenaries of higher tiers with better promotions.
 
Hired arcane barge (or what) doesn't start with Channeling II & Fire II ... so no Fireballs ):
When I hire mercenary, he have Xth level, but you start exping from 0 ... so there is quite long time (usually about 40xp - depends on promotions counts) without getting promotion... Is it purpose?
And yes ... Guilds spreading is bugged (I cant spread it into new cities, but in some city I can spread it indefinitly)... (I love worldbuilder ... :) )

Do you plan to add any mages(illusionist, wizards) and archmages(eater of dreams, lich)? ... It shouldn't be problem since game money cap is faaaar away. (Did anyone tryed where is money cap? :crazyeye:)

Highlighted One: Living unit with Sun II & Channeling II (Blinding Light)
 
Hired arcane barge (or what) doesn't start with Channeling II & Fire II ... so no Fireballs ):
When I hire mercenary, he have Xth level, but you start exping from 0 ... so there is quite long time (usually about 40xp - depends on promotions counts) without getting promotion... Is it purpose?
And yes ... Guilds spreading is bugged (I cant spread it into new cities, but in some city I can spread it indefinitly)... (I love worldbuilder ... :) )
I just tossed the arcane barge in there, forgot to give it its default promotions. I think I'm giving too many promotions to the base units right now anyway, I might make the formula a bit less aggressive. I also haven't set it to compute the correct amount of XP a unit should have. I will work on this.

Do you plan to add any mages(illusionist, wizards) and archmages(eater of dreams, lich)? ... It shouldn't be problem since game money cap is faaaar away. (Did anyone tryed where is money cap? :crazyeye:)
I want to add mages but I need to build special random tables for the promotions, and I don't want adepts > lvl 5 available if there is sorcery out there. As for archmages and other National Units, I'd like to keep them non-mercenary. Maybe a few "unique" mercenaries could be national units, but they are really powerful...

Something to think on.
 
I just tossed the arcane barge in there, forgot to give it its default promotions. I think I'm giving too many promotions to the base units right now anyway, I might make the formula a bit less aggressive.
I think so ... Longbowmen with Drill4 + CityGuard3 + Hillsman2 only for 180gold + 4gpt is quite overpowered...

I also haven't set it to compute the correct amount of XP a unit should have. I will work on this.
I have done this:
Spoiler :

MercenaryFunctions.py /// def __init__
Code:
#		self.iExperience = iExperience

		lenPromotionList = len(self.promotionList)

		if (lenPromotionList > 0):
		  self.iExperience = 2				#total: 2
		if (lenPromotionList > 1):
		  self.iExperience = self.iExperience + 3	#total: 5
		if (lenPromotionList > 2):
		  self.iExperience = self.iExperience + 5	#total: 10
		if (lenPromotionList > 3):
		  self.iExperience = self.iExperience + 7	#total: 17
		if (lenPromotionList > 4):
		  self.iExperience = self.iExperience + 9	#total: 26
		if (lenPromotionList > 5):
		  self.iExperience = self.iExperience + 11	#total: 37
		if (lenPromotionList > 6):
		  self.iExperience = self.iExperience + 13	#total: 50
		if (lenPromotionList > 7):
		  self.iExperience = self.iExperience + 15	#total: 65
		if (lenPromotionList > 8):
		  self.iExperience = self.iExperience + 17	#total: 82
		if (lenPromotionList > 9):
		  self.iExperience = self.iExperience + 19	#total: 101
(I dont suppose that some unit will be level 9+)
(Yes, I know that it isn't elegant solution, but it works ... :) )
I want to add mages but I need to build special random tables for the promotions, and I don't want adepts > lvl 5 available if there is sorcery out there.
Special random tables?? I just add them as Tier3 UNITCOMBAT_ADEPT and give them Channeling II
Spoiler :

RandomMercenaryList.py
Code:
    #  DEMON (All units start with Demon Race)	- only MobiusWitch
    PREFIXdemon = 'Demonic'
    RACEdemon = 'PROMOTION_DEMON'

    PROMOamuritemage = [gc.getInfoTypeForString('PROMOTION_CHANNELING1'), gc.getInfoTypeForString('PROMOTION_CHANNELING2'), gc.getInfoTypeForString('PROMOTION_BODY1'), gc.getInfoTypeForString('PROMOTION_METAMAGIC1'), gc.getInfoTypeForString('PROMOTION_METAMAGIC2')]

    PROMOarcanebarge = [gc.getInfoTypeForString('PROMOTION_FIRE2'), gc.getInfoTypeForString('PROMOTION_CHANNELING2')]

    PROMOadeptdefault = [gc.getInfoTypeForString('PROMOTION_CHANNELING1')]
    PROMOmagedefault = [gc.getInfoTypeForString('PROMOTION_CHANNELING1'), gc.getInfoTypeForString('PROMOTION_CHANNELING2')]
Code:
                        'TIER3' : [
				   [gc.getInfoTypeForString('UNIT_MAGE'), 40, self.PROMOmagedefault, self.ASdefault, self.PREFIXdefault, self.RACEdefault],

                                   [gc.getInfoTypeForString('UNIT_MAGE'), 5, self.PROMOmagedefault, self.ASnone, self.PREFIXorc, self.RACEorc],

                                   [gc.getInfoTypeForString('UNIT_MAGE'), 1, self.PROMOmagedefault, self.ASnone, self.PREFIXdwarf, self.RACEdwarf],

                                   [gc.getInfoTypeForString('UNIT_MAGE'), 7, self.PROMOmagedefault, self.ASnone, self.PREFIXelf, self.RACEelf],

                                   [gc.getInfoTypeForString('UNIT_ILLUSIONIST'), 5, self.PROMOmagedefault, self.ASnone, self.PREFIXdarkelf, self.RACEdarkelf],

                                   [gc.getInfoTypeForString('UNIT_WIZARD'), 5, self.PROMOamuritemage, self.ASamurite, self.PREFIXamurite, self.RACEdefault],
				   [gc.getInfoTypeForString('UNIT_MOBIUS_WITCH'),5, self.PROMOmagedefault, self.ASsheaim, self.PREFIXsheaim, self.RACEdemon]

				  ]
Yes in 50% I have mage with only 1 lvl spells, but this may be repaired with some check -
Spoiler :
Code:
if unit = unitClass_mage
{
   for (i=1; i<totalManaSpheres; i++)
   {
      if unit have promotion [manasphere] 1 { give him promotion [manasphere] 2 }
   }
}
(I'm not sure with syntax ... :) )

And also units with Dwarven, Elven, etc... can be added to city (Balseraph).
 
So, there is version for FfH - Patch C ... (without my own modifications, it should be same as the one for Patch B ... Ctrl+C and Ctrl+V on right places :) I just replace pPlayer with gc.getPlayer(iPlayer) in def onEndPlayerTurn)

Edit: btw, one mercenary has gained exps from Spirit Guide ... and I really don't like it :( :) )
 

Attachments

Edit: btw, one mercenary has gained exps from Spirit Guide ... and I really don't like it :( :) )

Because of the experience counter not starting correctly? I'm working on a fix for that and a few other things. Also adding in the disciples and mages.

I'm still not sure about disciples. I think there need to be a few rules about what spheres mercenary adepts can have, as well as what disciples are welcome, based on Alignment:


Good Civs:
No Entropy, Death, Chaos, or Shadow adepts / mages will be for hire.
No Ashen Veil or Octopus Overlord Disciples / Priests.

Neutral Civs:
All spell spheres, all disciples.

Evil Civs:
No Spirit, Life, Law, Sun adepts / mages for hire.
No Order or Empy Disciples / Priests.
 
Because of the experience counter not starting correctly? I'm working on a fix for that and a few other things. Also adding in the disciples and mages.

I'm still not sure about disciples. I think there need to be a few rules about what spheres mercenary adepts can have, as well as what disciples are welcome, based on Alignment:


Good Civs:
No Entropy, Death, Chaos, or Shadow adepts / mages will be for hire.
No Ashen Veil or Octopus Overlord Disciples / Priests.

Neutral Civs:
All spell spheres, all disciples.

Evil Civs:
No Spirit, Life, Law, Sun adepts / mages for hire.
No Order or Empy Disciples / Priests.

um, that makes neutrals actually not so neutral if they can hire anybody...

Maybe it is better to neutral not to allow "elite" mercs? Both evil/good are keenly interestid in reaching to maximum evil/good, so they are ready to invest more...

Neutrals, meanwhile do not care for obvious reasons of max "ultra" results, so...
 
Maybe it is better to neutral not to allow "elite" mercs? Both evil/good are keenly interestid in reaching to maximum evil/good, so they are ready to invest more...

I don't see the "neutral" civs in FFH as like the DND "Neutral" where you fight for "balance". They just don't feel strongly one way or the other, and would gladly hire an Mage who can summon a demon so long as he keeps it under control (see the Amurites, whom are "netural")..

But gameplay wise it doesn't really matter - There will be a few "named" elite mercs that appear via event. But the average run-of-the-mill mercenary won't be any unit that has a national limit.
 
Sorry I am getting late to the party, but I have one suggestion for GoN changes. Would it be easy whenever a merc gets killed there is a % chance for the opposing side to get a unit that lets him spread the guild to one of his cities. Or whenever a merc is dismissed a random enemy city has the guild spread. That way the guild would not be only in one civ the entire game.
 
Back
Top Bottom