1. The settlement capture trait is easy. Using this conditional.
Code:
and SettlementName Alexandria
You can then. Create a trigger like thus.
Code:
;------------------------------------------
Trigger Random name.
WhenToTest GeneralCaptureSettlement
Condition SettlementName Alexandria
Affects ConquererofAlexandria 1 Chance 100
That would make a trait called ConquererofAlexandria be added as per normal which would have the epiteth and command star and what else added to the trait.
The pop up is beyond my sphere of knowledge. But i'm sure theres tutorials somewhere.
Now. As for the heriditary part. Which i'm guessing is the super important bit. Thats easy.
The changing of the last name is all down to the Epiteth. Meaning you can make a coming of age trait of the following.
1. The same trait the father has but with the following trigger.
Code:
;------------------------------------------
Trigger dads_conqueredalexandria
WhenToTest CharacterComesOfAge
Condition FatherTrait ConquererofAlexandria> 1
Affects ConquererofAlexandria 1 Chance 100
But that would have the same text and be like the son captured the settlement.
Or you could make a similar trait, (without a command or influence bonus for balencing sakes of course) with slightly different VnV's to make it clear it's heriditary add the same epiteth as the above trait and then use the above trigger and bobs your uncie.
As for your second query. Make a similar trait as above. IE beatentehgermanz and then make sure the epiteth is awarded at the first level.
Then make a hidden trait with like 5-7 levels called something related IE beatentehgermanzcounter. Then everytime he fights the germans and wins. Run a trigger that adds a level to the counter trait.
Then once he reachs the highest level. Simply add a trigger that reads like this.
Code:
;------------------------------------------
Trigger Germanz
WhenToTest GeneralCaptureSettlement
Condition IsGeneral
and WonBattle
and BattleSuccess = crushing/normal
and I_ConflictType Normal
and GeneralFoughtCulture barbarian
and SettlementName (german settlement!!!! This is super important as the vanilla EDCT makes no differentiation between barbarian factions so to get this trait you need the settlement name condition)
and beatentehgermanzcounter = 7
Affects beatentehgermanz 1 Chance 100