Requesting following features

mmmm no need to do that... but can I say that it was not me who defined the advanced swrodsman, but you?(this is also the case for these....
eQuintrireme = getIndex("Unit Class", "Quintrireme")
ePrivateer = getIndex("Unit Class", "Privateer")

but maybee it's just my versions....
 
No, the unit classes are defined for the Commandeering feature and also for the Catapult Construction feature. We need both. You'll figure it out eventually...

Now I'm off to bed - workday tomorrow. :p
 
luckly I use none in my code....
so eAdvancedSwordsman should really just be unit, but then you have to change your catapult construction code... what a pickle...
 
Yeah? If I remember you correctly, you specifically needed the catapult construction to be available to all unit types of the Advanced Swordsman class, not just the Advanced Swordsman unit type. Or am I wrong? :confused:

Because shouldn't the Roman Legion unit (Preatorian?) be able to build Catapults in Forests?
 
I actually think that I originally defined the unit type as eSwordsmanII and the unit class eAdvancedSwordsman (or vice versa). So my original file should have had both, but I'm not sure if I have a copy left...

This is what inevitable happens as soon as several people try to edit the same code. So once I'm done its hands off for my part. You get to do all future changes - until you ship the whole thing back to me for some reworking - and then you don't get to touch any of it until I'm done, again. And so on.
 
mmmm? the praetorian is not an advanced swordsman but a swordsman... but Maybe I did say I wanted the swordsman as well... Better add that to my xml code :lol:

so maybe have an eAdvancedSwordsman (doesn't need unitclass), an eSwordsmanClass (for catapult) and an eSwordsman (for rebels)
 
I'm totally lost at this point. :p You need to be much, much clearer with these specifications. I'm not even sure what I don't understand at this point, so you might as well take it from the top.

edit: I posted twice above, in case you missed...
 
ok, I probably said I wanted the advanced swordsman, and the swordsman to be part of the catapult construction. The preatorian is a replacement for Swordsman, not Advanced Swordsman.

so you don't need to define the Advanced Swordsman class at all just the swordsman's class and of course the swordsman on it's own for a rebellion.

that should answer your questions:

swordsman + advanced swordsman = rebellion

swordsman class + advanced swordsman = catapult construction!

now get to bed you have a workday tommorrow!:lol:
 
So... The Catapult Construction feature (AI) is available for all units of Advanced Swordsman class - and to all units of the Swordsman unit type? But not to all unit of the Swordsman unit class? :crazyeye:

Or did you mean both unit classes Swordsman and Advanced Swordman?

Sorry, not making any sense yet. Could I just allow you to specify any number of classes and types to be valid? Like:
Code:
tCatapultConstructionUnitTypes = ( eSwordsman, )
tCatapultConstructionUnitClasses = ( eClassAdvancedSwordsman, )
It might be quicker to implement than to figure out what you mean. I must be having a blond moment or something... :rolleyes:
 
ok, the reason you want to make an advanced swordsman class is to include ALL versions to fit including the praetorian. However, the praetorian is a replacement for the swordsman NOT the advanced swordsman so you need the swordsman's class and the advanced swordsman not advanced swordsman's class and swordsman
 
So its one entire class of unit types - and one particular unit type, then? So I could basically make it possible for you to define these things yourself, as long as you can define at least one unit class and at least one specific unit type. Perhaps even a unit type that is except from the feature? Just so you have all the option for when you might need them. (You might wanna reuse the feature in another mod, perhaps in a sequel.)

I'm sorry for being stupid, but I of course realize how difficult it is to describe these things in a totally unambiguous way. There can basically be no room for interpretation - otherwise the communication brakes down.
 
not a problem at all! I'm sorry for being complicated!
 
These are the available settings then:
Code:
tValidUnitClasses = (eSwordsmanClass,)
tValidUnitTypes = (eAdvancedSwordsman,)
tInvalidUnitTypes = ()
I think I'll have to test everything once more! :cry:
 
ok... Well at least everything is sorted now!

let me know how it goes!
 
did you ever give me the counter code or am I just being forgetful? I finally understand what I am meant to do with it and how it works :lol:.
 
Probably, look back.
 
mmm i will look back another day! You gave me the main code that I would use but you didn't give me any contruction code for it... I'm not sure. But anyway, I am going away untill friday :D so I can get back to you friday night
 
Ok, see you then. I should be done with all the testing and stuff by then, so you'll be able to take over the reigns permanently. :goodjob:
 
I sent the the files to you. I accidentally sent my code of CvEventManager, so I guess you need to merge the two then. :rolleyes: The latest addition should basically be the Rebellion module, so you could simply search my version for instances of the word "Rebellion" and add those lines/inserts to yours. Or you could add your own edits to my version.

Also, don't forget to add this to CvRandomEventInterface:
Spoiler :
Code:
### Jamie's Rome mod

def doSlaveRevolt(argsList):
	from Rebellion import SlaveRevolt
	kTriggeredData = argsList[1]
	ePlayer = kTriggeredData.ePlayer
	pPlayer = gc.getPlayer(ePlayer)
	pCity = pPlayer.getCity(kTriggeredData.iCityId)
	if SlaveRevolt.checkConditions(pCity):
		SlaveRevolt(ePlayer, pCity)
You should probably add this to a clean copy, without the previous work by The_J.

And note that the mod settings for the Rebellion module only hold default values:
Spoiler :
iRequiredRebellionCitySize = 3
iRebelReinforcementPercentage = 100
iNumRebelReinforcements = 1
iCulturalRebellionPercentage = 100
iResistancePercentage = 100
iResistanceDomesticPercentage = 50
iResistanceDomesticTurns = 2
iDomesticRebellionPercentage = 105
iCivilizedPercentageSubtract = 5
iCapitalHappinessPenalty = 2
iMinorRevoltPercentage = 100
iCivilWarPercentage = 100
iCivilWarUnhappyCitiesPercentage = 30
iRequiredNumCivilWarCities = 6
iRequiredNumCivilWarUnhappiness = 2
iCivilWarRebelArmySize = 6
iSlaveRevoltDenominator = 10
iNumSlaveUnitsPerCitizen = 3
tByzantion = (46, 23)
byzansCapital = "Constantinople"
iByzansRebelArmySize = iCivilWarRebelArmySize

Those highlighted should be changed before you test the code. Note that since each player is checked every eight turns (different turns every game) the basic chance of a rebellion is 1/8 with a 100% setting. (Well, its actually 100%, but any given Civ might not get checked within the next 8 turns, so the chance will be perceived as less by the player. Chances are that the conditions for the rebellion will no longer be valid once the next check is made. Thus a 100% setting is not a sure thing at all.)
 
ok before change any values I am goning to test and then tweak! Hope it all works ok! Have fun with G&G! When you are done I can send 2.1 over to you to tweak the python code...
 
Back
Top Bottom