PDA

View Full Version : The Complete EDCT/EDA Guide - dicussion



Squid
12-11-2007, 21:59
This thread should have been created awhile ago to along with the guide I made. This thread is for discussing Trait/Ancillary related stuff specifically as it relates to the content of the Guide: The Complete Traits/Ancillaries Guide (https://forums.totalwar.org/vb/showthread.php?t=91312).

I was looking at EB's trait/ancillary file while testing changes to ATVTW, and some of the things they were doing gave me two ideas for ancillaries, one a better way to figure out which ancillaries a character has, and two a way to get around the ExcludedAncillaries hardcoded limit of 3. I find both of these exceptionally annoying and bent my mind to try and abolish them, only to realize that if I'd examined the EB files a little more closely I'd have noticed they were doing exactly the same thing I'd just thought up . . . yea for re-inventing the wheel!!

1) How to tell which Ancillaries a character has - For the sake of simplicity I'm going to refer to the priest_of_zeus ancillary as it is in vanilla, but this should be able to be applied to any ancillary in any mod. To be able to accurately determine if a character has the actor ancillary:

a) create two traits which corresponds to the ancillary:
Trait priest_of_zeusAncillary
Characters family
Hidden
NoGoingBackLevel 2
AntiTraits priest_of_zeusAcquired

Level does_not_matter
Description does_not_matter
EffectsDescription does_not_matter
Threshold 1

;---------------------------------------
Trait priest_of_zeusAcquired
Characters family
Hidden
NoGoingBackLevel 1
AntiTraits priest_of_zeusAncillary

Level does_not_matter
Description does_not_matter
EffectsDescription does_not_matter
Threshold 1

b) take the trigger which assigns the actor ancillary, and change it as follows:
Trigger trigger_priest_of_zeus
WhenToTest CharacterTurnEnd
Condition EndedInSettlement
and RemainingMPPercentage = 100
and SettlementBuildingExists >= odeon
and IsGeneral

AcquireAncillary priest_of_zeus chance 15
Affects priest_of_zeusAncillary 1 chance 15
c) add two new trigger as follows:
Trigger trigger_priest_of_zeus2
WhenToTest CharacterTurnEnd
Condition Trait priest_of_zeusAncillary = 1

AcquireAncillary priest_of_zeus chance 100

;--------------------------------
Trigger trigger_priest_of_zeus3
WhenToTest CharacterTurnEnd
Condition Trait priest_of_zeusAncillary = 1

Affects priest_of_zeusAncillaryAcquired 2 Chance 100
Notes:
This is slightly different from how EB does it, as EB has the triggers which assign the priest_of_zeusAncillary and priest_of_zeusAncillaryAcquired traits in EDCT.
The second trait priest_of_zeusAncillaryAcquired is required to prevent players from repeatedly spawning the same ancillary over and over again by moving an ancillary from one character to another.2) How to bypass the ExcludedAncillaries hardcoded limit of 3 ancillaries - This actually requires that you use the above method of tracking ancillaries. For demonstrating how this would work I'm going to limit each character to 1 priest ancillary (of course players can pass ancillaries around to bypass this . . .)

a) Create a new trait which will be used to exclude whichever ancillaries you desire

Trait priestAncillary
Characters family
Hidden

Level does_not_matter
Description does_not_matter
EffectsDescription does_not_matter
Threshold 1

b) Change the trigger for each trait that tracks if a particular priest ancillary can be acquired as follows:

Trigger trigger_priest_of_zeus
WhenToTest CharacterTurnEnd
Condition EndedInSettlement
and RemainingMPPercentage = 100
and SettlementBuildingExists >= odeon
and IsGeneral
and Trait priestAncillary = 0

Affects priest_of_zeusAncillary 1 chance 6

c) Add an effects line for acquiring the new trait to the thrid trigger created above as follows:

Trigger trigger_priest_of_zeus3
WhenToTest CharacterTurnEnd
Condition Trait priest_of_zeusAncillary = 1

Affects priest_of_zeusAncillaryAcquired 2 Chance 100
Affects priestAncillary 1 Chance 100
Notes:

Using the priestAncillary example, as soon as any priest ancillary is acquired, all other priestAncillaries are blocked from being acquired
A similar method can be used to bypass the AntiTraits hardcoded limit of 20 antitraits, though I don't think that limit is reached nearly as oftenThis method of keeping track of ancillaries has the one major drawback that if a players swaps ancillaries around, it will no longer be accurate, since as far as I know there is no way to know if an ancillary has been swapped from character to character. If you are worried about that eventuality then Makanyane method using the NavalCommand attribute is another method for tracking a particular ancillary (see the guide for details).

Any comments on the validity, or suggestions on how this method can be improved would be appreciated, at which point I'll add it to the actual guide.

Makanyane
12-12-2007, 13:42
Good idea starting a discussion thread :2thumbsup:

Thanks for the credit on the naval command thing but for the record I pinched it off Marcus Camillus's post here (https://forums.totalwar.org/vb/showpost.php?p=1188831&postcount=150),
have just been misusing it ever since.

I decided on mod that's in testing that it's rather cruel to generals for player to pinch all their ancillaries off them to give to others, so have given most of the ancillaries a base naval command level and am trying out system in traits that tracks if someone had high level of ancillaries (NC) and then lost them, at which point they get a little less co-operative.... :laugh4:

BozosLiveHere
12-12-2007, 16:24
Electability allows for a much wider range of values than NavalCommand. If you don't have a senate in your mod, it might be a better choice.

Squid
12-13-2007, 17:29
If you don't have the senate in your mod, you have 5-6 attributes you can use:

Electability
SenateStanding
PopularStanding
NavalCommand
Combat_V_XXX (two or one attribute depending if you have 6 or 7 cultures respectively)

There are probably a couple of others that can be used (e.g. All combat related ones for diplomats/spies/assassins) depending on which character type you are trying to track ancillaries for.

BozosLiveHere
12-16-2007, 16:10
We thought of using SenateStanding for our roman province system, but we kept getting false-positives from adoptees or recruited generals.

Squid
01-30-2008, 01:14
Updated the ancillaries section with the following information:

If you have a mixed trigger (i.e. both affects and acquireancillary are present), then the affects lines must come before the acquireancillary lines or the traits are not assigned even with chance of 100. BUT if you have a mixed trigger, then you don't get a message saying the ancillary was acquired.

BozosLiveHere
01-30-2008, 14:50
It's a bit weirder than that. In our EDA, the mixed triggers have AcquireAncillary before Affects, but they have to be placed at the start of the trigger section. If they are placed after normal triggers they don't fire.

Squid
02-05-2008, 18:04
Not sure if this is known or not, but if you give a hidden trait a gain (and presumable loss message though I didn't check), it will still bring up the notification message for a trait change.